Compare commits
4024 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8edf4c8711 | ||
|
|
ad12d6cc46 | ||
|
|
7db7c05da8 | ||
|
|
43d19920e0 | ||
|
|
bfc748cd31 | ||
|
|
b3059248d4 | ||
|
|
0cbad9098e | ||
|
|
5c5438c12e | ||
|
|
734c410879 | ||
|
|
4b4e22d59d | ||
|
|
8f63fa71c9 | ||
|
|
267293d21b | ||
|
|
20ee1fa0d3 | ||
|
|
c70e9b529a | ||
|
|
e42e973ed5 | ||
|
|
03037121aa | ||
|
|
d257b2ee17 | ||
|
|
59a1e13955 | ||
|
|
4e858ba839 | ||
|
|
0eb3d20250 | ||
|
|
c0896f5357 | ||
|
|
f334e2d0f4 | ||
|
|
dfbe11efdb | ||
|
|
becbad32c9 | ||
|
|
46976c4e03 | ||
|
|
1e4cf4c466 | ||
|
|
2e1517474d | ||
|
|
08897aa83a | ||
|
|
7252e9b266 | ||
|
|
07d8dafa5e | ||
|
|
cca46448fe | ||
|
|
3f7947b404 | ||
|
|
4870558827 | ||
|
|
c23ec41622 | ||
|
|
544aef19b4 | ||
|
|
24834ced9e | ||
|
|
10fa6f0c13 | ||
|
|
7a32ad5409 | ||
|
|
4f7df6987c | ||
|
|
3d75d21a3e | ||
|
|
250718e766 | ||
|
|
a5cbade8ec | ||
|
|
3ac50cf77f | ||
|
|
f35bf41d26 | ||
|
|
f1816815a9 | ||
|
|
37bf9ffcff | ||
|
|
5e7642b42a | ||
|
|
6f6ec217e3 | ||
|
|
017ec87d60 | ||
|
|
30dd8fe070 | ||
|
|
8e442563f2 | ||
|
|
c43dcf0567 | ||
|
|
f2a5a29d12 | ||
|
|
678b9a8eb5 | ||
|
|
96f7c0c02e | ||
|
|
66b7b6da2a | ||
|
|
38daffdbfe | ||
|
|
0238c03956 | ||
|
|
425e56b3ea | ||
|
|
4478c0a143 | ||
|
|
a053384618 | ||
|
|
694e8cd19f | ||
|
|
4bcd1e3c59 | ||
|
|
5f063c0151 | ||
|
|
5a1d4d55c6 | ||
|
|
d3f85b4c4e | ||
|
|
df9ec4b466 | ||
|
|
4f9507ed97 | ||
|
|
f761b6aa9e | ||
|
|
168a7ce2e5 | ||
|
|
4b763a76df | ||
|
|
8764da787b | ||
|
|
7d8ba15252 | ||
|
|
96c0c30f7c | ||
|
|
bb6ab5314c | ||
|
|
e3c6abfc3d | ||
|
|
5c5bccae0b | ||
|
|
296e009808 | ||
|
|
4d84781a65 | ||
|
|
710b9bf454 | ||
|
|
0f54315495 | ||
|
|
c3fc91a6fc | ||
|
|
d2048f3c25 | ||
|
|
cc2c13d018 | ||
|
|
48c1576d7f | ||
|
|
d2fa8ef0b0 | ||
|
|
97b576f446 | ||
|
|
257dfa6b3f | ||
|
|
678d2a58c5 | ||
|
|
e0431d270b | ||
|
|
7797e5a3b7 | ||
|
|
d15b0cdb08 | ||
|
|
1af2769209 | ||
|
|
e6906b84f3 | ||
|
|
ca0f6c7ded | ||
|
|
f9ff676e57 | ||
|
|
db7041f2dc | ||
|
|
ad1f089802 | ||
|
|
62c812858e | ||
|
|
4bf66cb6e9 | ||
|
|
95fee543ec | ||
|
|
df4daca15b | ||
|
|
f794d8dbd8 | ||
|
|
9935a36c3d | ||
|
|
a7c77682d7 | ||
|
|
8bbea976ea | ||
|
|
900d1ddb36 | ||
|
|
8e99135f37 | ||
|
|
dc9483e07a | ||
|
|
48e913bf2c | ||
|
|
993cb987a6 | ||
|
|
65f968ec1b | ||
|
|
93f6d4b6e7 | ||
|
|
7482025c10 | ||
|
|
909acb25fd | ||
|
|
4a9db99082 | ||
|
|
a2606c4fc4 | ||
|
|
647c609bf8 | ||
|
|
cf98025177 | ||
|
|
e0f20e9f82 | ||
|
|
597a5c9d75 | ||
|
|
d055908f4f | ||
|
|
f3eac6b259 | ||
|
|
87d6081408 | ||
|
|
dd53bd1c55 | ||
|
|
3ff033cdf3 | ||
|
|
c1c3b6a7e5 | ||
|
|
64d5a6acd5 | ||
|
|
e5b2e0a6b5 | ||
|
|
9895b45293 | ||
|
|
811fc43b63 | ||
|
|
9dcfa3ad6e | ||
|
|
67bda19458 | ||
|
|
6c38919c3d | ||
|
|
ce9445287c | ||
|
|
d4bd8862bd | ||
|
|
6904e023d3 | ||
|
|
91a7a77bb0 | ||
|
|
d9306e3e30 | ||
|
|
efdd3df129 | ||
|
|
63098d3c7d | ||
|
|
aa5781b550 | ||
|
|
d6e1862c08 | ||
|
|
9aa2831fef | ||
|
|
70eb29c1a9 | ||
|
|
13e07b1623 | ||
|
|
27ce1f8d44 | ||
|
|
38c20fc3c2 | ||
|
|
4a32b00068 | ||
|
|
3406f88fdc | ||
|
|
c96cb37680 | ||
|
|
0d415837a0 | ||
|
|
9dc48522d8 | ||
|
|
31b82a5d92 | ||
|
|
87ab4d9dd1 | ||
|
|
b6e7625016 | ||
|
|
c5e6bfce95 | ||
|
|
7a849b2899 | ||
|
|
999fa39d7c | ||
|
|
7de15ce5cf | ||
|
|
f792b0052f | ||
|
|
57d0b1d215 | ||
|
|
7691654cb8 | ||
|
|
c76e4b6b3c | ||
|
|
bda39cc6f6 | ||
|
|
060cdfea86 | ||
|
|
b1cc7b25ba | ||
|
|
1e0fe70dc3 | ||
|
|
8ed167c5fa | ||
|
|
dabf8414be | ||
|
|
a0eb64428e | ||
|
|
dd1beb1d91 | ||
|
|
bb35d71fdc | ||
|
|
42a7e86e51 | ||
|
|
2f3540dadc | ||
|
|
eb00641dfa | ||
|
|
bfe7bf2c11 | ||
|
|
e88c575d4a | ||
|
|
0de9c62675 | ||
|
|
9dc3847dbe | ||
|
|
9dc03c4f0f | ||
|
|
def21367a3 | ||
|
|
33fe1b6389 | ||
|
|
76cb5677b2 | ||
|
|
8c3b7f6417 | ||
|
|
e6c0f0f774 | ||
|
|
6bd5301828 | ||
|
|
73c0c4507a | ||
|
|
506b0806d6 | ||
|
|
054459d327 | ||
|
|
66ac4d6150 | ||
|
|
ab8e7897cc | ||
|
|
2b9133be90 | ||
|
|
56fece6216 | ||
|
|
d381836f01 | ||
|
|
c6efb588dc | ||
|
|
5404dfef08 | ||
|
|
cba12980f9 | ||
|
|
61700577d0 | ||
|
|
321f5d879d | ||
|
|
f98fdeab3f | ||
|
|
90179188b9 | ||
|
|
ccef155f7a | ||
|
|
f0a95032a5 | ||
|
|
c3ff5f2603 | ||
|
|
ee182ea684 | ||
|
|
7f73cc3085 | ||
|
|
dcf70b2847 | ||
|
|
cb5ba7edda | ||
|
|
7940ef24ab | ||
|
|
0f901b3728 | ||
|
|
09aba596ac | ||
|
|
b930ac7bf9 | ||
|
|
7f1bc4635a | ||
|
|
d4253d2025 | ||
|
|
b007fcb537 | ||
|
|
e6dd7d7684 | ||
|
|
128663d95b | ||
|
|
ef8b6d1a3d | ||
|
|
b4baebc230 | ||
|
|
b4581a7bbf | ||
|
|
a285dca39e | ||
|
|
00aa6d5ac3 | ||
|
|
027db285bc | ||
|
|
c3c9ba7e51 | ||
|
|
a1be63f890 | ||
|
|
f066f3f139 | ||
|
|
e17dcbb8eb | ||
|
|
1ae22c8606 | ||
|
|
d5569487a4 | ||
|
|
336e691dbc | ||
|
|
17a4d19beb | ||
|
|
74aa1ad71e | ||
|
|
f8c2f339a0 | ||
|
|
1dd66184a1 | ||
|
|
ddab8c1473 | ||
|
|
49d2c97ceb | ||
|
|
351a423337 | ||
|
|
07528be1e6 | ||
|
|
bc171f625a | ||
|
|
0f775e1e66 | ||
|
|
98fb874b29 | ||
|
|
cfd5c2a650 | ||
|
|
22a5b7faf6 | ||
|
|
fe262701c0 | ||
|
|
e1f71d3919 | ||
|
|
906cb95e67 | ||
|
|
f23c23f696 | ||
|
|
99c686e3e1 | ||
|
|
a144e35f84 | ||
|
|
5a5c5782a9 | ||
|
|
a2a5c30e60 | ||
|
|
3c4c466f8e | ||
|
|
6726826c17 | ||
|
|
e102cb1469 | ||
|
|
11671e85da | ||
|
|
b8614c60f9 | ||
|
|
269defa82d | ||
|
|
8bacc74d8b | ||
|
|
0c5efb935d | ||
|
|
a7f67c4bc9 | ||
|
|
edcaccba1f | ||
|
|
5ebecb4de3 | ||
|
|
9f3048c1dc | ||
|
|
2586268b81 | ||
|
|
280ddb4629 | ||
|
|
20889d7003 | ||
|
|
d4f4698c69 | ||
|
|
adcce61b52 | ||
|
|
17b913fb13 | ||
|
|
366ea1edc3 | ||
|
|
3a5a002be2 | ||
|
|
533fba8c70 | ||
|
|
7435bd7fb0 | ||
|
|
681b9b5ba3 | ||
|
|
600737c44f | ||
|
|
e5f3bed801 | ||
|
|
2fdc3169ce | ||
|
|
722264f634 | ||
|
|
a858ab5d0b | ||
|
|
63c1212ef1 | ||
|
|
2aa477176c | ||
|
|
6bb39451ea | ||
|
|
099a3c4642 | ||
|
|
9515520088 | ||
|
|
fe1a90bd39 | ||
|
|
65df137610 | ||
|
|
ced0c4d8f0 | ||
|
|
f3804429e4 | ||
|
|
a47981054f | ||
|
|
b9ad8bb700 | ||
|
|
47ad5ea98a | ||
|
|
840b42934b | ||
|
|
4527c03c0d | ||
|
|
89941a8e83 | ||
|
|
ebd4651ac2 | ||
|
|
861ab85ca1 | ||
|
|
f9154c4ed0 | ||
|
|
b91ebad8be | ||
|
|
e6baf8ef5b | ||
|
|
d326c7e3fa | ||
|
|
950126865e | ||
|
|
91f369a0b3 | ||
|
|
d1a9d3992b | ||
|
|
2dd2ad5cdb | ||
|
|
04c8c95634 | ||
|
|
8a56ede187 | ||
|
|
7425e80f05 | ||
|
|
97a9089ebf | ||
|
|
bee474f6e9 | ||
|
|
4740d44159 | ||
|
|
062b0b2165 | ||
|
|
8060cb7426 | ||
|
|
794e31505b | ||
|
|
50b120bc22 | ||
|
|
f0b2e445f6 | ||
|
|
782e70b171 | ||
|
|
9d2239291d | ||
|
|
a2891807f8 | ||
|
|
6a9556d42c | ||
|
|
724fe65d72 | ||
|
|
46612ef128 | ||
|
|
139ef5411a | ||
|
|
ac57000437 | ||
|
|
31234cb487 | ||
|
|
05e36a064f | ||
|
|
f88cbf3d4b | ||
|
|
7814ee0f7a | ||
|
|
9f4e5e4603 | ||
|
|
810fb45750 | ||
|
|
55e56a6788 | ||
|
|
ea7441ae77 | ||
|
|
f65e8824fb | ||
|
|
2868899d81 | ||
|
|
54dd05c556 | ||
|
|
6b25160e3f | ||
|
|
0ef3e19bc2 | ||
|
|
e89350d4b7 | ||
|
|
95399bef2b | ||
|
|
06c724df01 | ||
|
|
3325106837 | ||
|
|
9c72470c17 | ||
|
|
94cf307ae0 | ||
|
|
2cc1fde5e4 | ||
|
|
6796ac688a | ||
|
|
9551cfaf9b | ||
|
|
8ef9ec0567 | ||
|
|
af552fb4c0 | ||
|
|
ae7e5be5cd | ||
|
|
74b126f309 | ||
|
|
26e023058c | ||
|
|
6236590ca4 | ||
|
|
ea51f976f2 | ||
|
|
719f3428ec | ||
|
|
2df4d19474 | ||
|
|
2a409e3734 | ||
|
|
0171a4e874 | ||
|
|
59e5ffe743 | ||
|
|
2bcbb5a5be | ||
|
|
5b4694a4eb | ||
|
|
54d6673d0b | ||
|
|
e07a7a4b4c | ||
|
|
f2d11e7432 | ||
|
|
1a115cc7e5 | ||
|
|
a00941f7ce | ||
|
|
634d21e486 | ||
|
|
95d8742e3c | ||
|
|
bd8dee0972 | ||
|
|
b34099f49e | ||
|
|
0380e66c30 | ||
|
|
907b6f0a78 | ||
|
|
21f4bbbe7b | ||
|
|
69d9072ff0 | ||
|
|
d5ae9bcba2 | ||
|
|
86c0dfb295 | ||
|
|
01821c30e5 | ||
|
|
7f66e0fdfe | ||
|
|
2569df9e5a | ||
|
|
5f8143e6a4 | ||
|
|
1fc7dabd3e | ||
|
|
5d18d7c813 | ||
|
|
4e8f5541af | ||
|
|
a8ac18e4fd | ||
|
|
a6c15217c0 | ||
|
|
57351dd42a | ||
|
|
58d21ff916 | ||
|
|
8e45b09083 | ||
|
|
44014e62ba | ||
|
|
ff65daa9fe | ||
|
|
ec515080b5 | ||
|
|
255dbf9405 | ||
|
|
aebb40dc1e | ||
|
|
b20c2b4774 | ||
|
|
3b3a705a67 | ||
|
|
711aa51046 | ||
|
|
4d54cf1370 | ||
|
|
e023092744 | ||
|
|
2e421e8aed | ||
|
|
afe9d38c48 | ||
|
|
3f751bfbb0 | ||
|
|
b1f33890d6 | ||
|
|
92333e982c | ||
|
|
16ca2d39c5 | ||
|
|
977dee3599 | ||
|
|
546766fb13 | ||
|
|
ddf4a36bdc | ||
|
|
fa3a76b3d8 | ||
|
|
d5de064019 | ||
|
|
37b018257e | ||
|
|
14034c255e | ||
|
|
cbbccd0364 | ||
|
|
b8204a317d | ||
|
|
499e3113b9 | ||
|
|
656e4869e6 | ||
|
|
defec611e3 | ||
|
|
49def354bd | ||
|
|
712b3f481c | ||
|
|
b3a723c871 | ||
|
|
de16a66a4a | ||
|
|
b0f191515a | ||
|
|
89ccaccb88 | ||
|
|
1f070da202 | ||
|
|
963e969d2a | ||
|
|
4734700ac5 | ||
|
|
d9da2edd7c | ||
|
|
6d48ca850e | ||
|
|
3e7ac7eb26 | ||
|
|
520a644150 | ||
|
|
3a56b7cabd | ||
|
|
efa72578cd | ||
|
|
b6087ce7ce | ||
|
|
537400d8b2 | ||
|
|
4c9931ab02 | ||
|
|
0a4038d061 | ||
|
|
2d5188b968 | ||
|
|
4bab7583ba | ||
|
|
b2f29b674d | ||
|
|
574f4a73cb | ||
|
|
05e3ddce0c | ||
|
|
3c101b0a50 | ||
|
|
e998bd0b3f | ||
|
|
251176df47 | ||
|
|
97c15865a5 | ||
|
|
9d4558de2b | ||
|
|
38f7f48c17 | ||
|
|
9534121676 | ||
|
|
10b76d921b | ||
|
|
8af058edc9 | ||
|
|
8b69e6ab99 | ||
|
|
4ef3de5287 | ||
|
|
9fff2bf4c7 | ||
|
|
534058fe9b | ||
|
|
6d62673e9e | ||
|
|
677dbd5d6e | ||
|
|
452440f50b | ||
|
|
5a7d8bcffb | ||
|
|
63e89ddc9a | ||
|
|
4e2c8bbc26 | ||
|
|
9bbcbd4bb3 | ||
|
|
273ac5eaf1 | ||
|
|
951db83ab6 | ||
|
|
a868c7bc8b | ||
|
|
a403ad7d37 | ||
|
|
90f5f7dded | ||
|
|
aef88559e8 | ||
|
|
6295d85ef2 | ||
|
|
a27ea2d631 | ||
|
|
de8de84a33 | ||
|
|
80bb6b65a7 | ||
|
|
f8963d7e4b | ||
|
|
c79d16a0d6 | ||
|
|
aa16bcd604 | ||
|
|
935232eaa2 | ||
|
|
e273695cc9 | ||
|
|
827784e3b2 | ||
|
|
b501af0b8f | ||
|
|
8f87cfe29d | ||
|
|
79398fe6cf | ||
|
|
355747d7bf | ||
|
|
a032f24d58 | ||
|
|
320105f201 | ||
|
|
54984efa0a | ||
|
|
d57f5460b7 | ||
|
|
5bc47e5203 | ||
|
|
f0a03223e8 | ||
|
|
007ab3b7b8 | ||
|
|
f813bb704f | ||
|
|
93809ec404 | ||
|
|
64e9958585 | ||
|
|
067138f1bf | ||
|
|
cfa88b840a | ||
|
|
32f955404b | ||
|
|
ff84962148 | ||
|
|
727f8aec13 | ||
|
|
d77afef8b0 | ||
|
|
775cede16f | ||
|
|
c6d3fd883a | ||
|
|
1473c14668 | ||
|
|
6764a3cc86 | ||
|
|
3845985a6b | ||
|
|
76a716007c | ||
|
|
993877b0d4 | ||
|
|
8b3d203861 | ||
|
|
85d8273009 | ||
|
|
f8e094392f | ||
|
|
46bafc2dcc | ||
|
|
e4ce08e64e | ||
|
|
aebdc2fd94 | ||
|
|
1d85c8a6b6 | ||
|
|
5eeb8143b6 | ||
|
|
68009b6fba | ||
|
|
62568daffe | ||
|
|
116e3fd9c5 | ||
|
|
76f951e3e6 | ||
|
|
1a273702d3 | ||
|
|
4678de0440 | ||
|
|
e1c68892d4 | ||
|
|
629c216a7f | ||
|
|
f3c8da4819 | ||
|
|
9ba482f56f | ||
|
|
2a59802a16 | ||
|
|
8668d43032 | ||
|
|
d6f7cae024 | ||
|
|
8391d43057 | ||
|
|
da77c10f60 | ||
|
|
301aa9572f | ||
|
|
675499df4d | ||
|
|
0a1165dac9 | ||
|
|
a495de7cf8 | ||
|
|
2161858088 | ||
|
|
001be82566 | ||
|
|
85b3d3f64d | ||
|
|
3bdce06e19 | ||
|
|
36fe4ff327 | ||
|
|
afd1548533 | ||
|
|
595af2c6d9 | ||
|
|
2bbf17b672 | ||
|
|
43570d1613 | ||
|
|
2432845df2 | ||
|
|
0bf854bf18 | ||
|
|
a0c8d522ef | ||
|
|
c10588a7dc | ||
|
|
13ab055fe0 | ||
|
|
2e972fb678 | ||
|
|
5b7059dccd | ||
|
|
ad6ddcb507 | ||
|
|
6994201d50 | ||
|
|
cc1df6a068 | ||
|
|
88b1552229 | ||
|
|
41b143cb7e | ||
|
|
196ff7f4c1 | ||
|
|
ff16897dde | ||
|
|
300e55e610 | ||
|
|
f716041073 | ||
|
|
a63abe5154 | ||
|
|
c04991f707 | ||
|
|
ddd57517df | ||
|
|
d014b47958 | ||
|
|
6afe18503d | ||
|
|
837dac50fa | ||
|
|
6a4aa184f3 | ||
|
|
20c9280ada | ||
|
|
fea122ae12 | ||
|
|
86c0205faa | ||
|
|
9f76be9d26 | ||
|
|
7705696d54 | ||
|
|
bb7ab625c1 | ||
|
|
da386f2c2e | ||
|
|
0ced28f991 | ||
|
|
9dc39cb758 | ||
|
|
9eacb11f3c | ||
|
|
4b1d15f968 | ||
|
|
7395cc21b8 | ||
|
|
efdba3a482 | ||
|
|
39428841e4 | ||
|
|
981063596a | ||
|
|
67d4eb688a | ||
|
|
da71938d18 | ||
|
|
2850d456d0 | ||
|
|
5063a22155 | ||
|
|
98896ab5ac | ||
|
|
5913e6d187 | ||
|
|
f477aea2a5 | ||
|
|
5803edb77b | ||
|
|
f6ba59ed14 | ||
|
|
542ba89f25 | ||
|
|
2387b66e86 | ||
|
|
75d8d01b17 | ||
|
|
b337d54623 | ||
|
|
44e94bfbf5 | ||
|
|
d93c1ccbaa | ||
|
|
6ca105a290 | ||
|
|
bccd801874 | ||
|
|
eb8800f2d4 | ||
|
|
ac99318f34 | ||
|
|
bc7c88c511 | ||
|
|
f1f955b7ac | ||
|
|
68bc8d0231 | ||
|
|
04a1cff24a | ||
|
|
de15da8a93 | ||
|
|
59938791ef | ||
|
|
3ef0bcc5d5 | ||
|
|
15d2ce150d | ||
|
|
33ae4b176a | ||
|
|
4aae4f9399 | ||
|
|
fc4c31b673 | ||
|
|
88d7f172ca | ||
|
|
bef87c6dff | ||
|
|
747ebd2136 | ||
|
|
41873412e7 | ||
|
|
0811190527 | ||
|
|
0a5ba3490d | ||
|
|
55616a4d1b | ||
|
|
c872cd76e1 | ||
|
|
cf977cb41a | ||
|
|
903aa46e5c | ||
|
|
131efa11be | ||
|
|
5a159d0204 | ||
|
|
7fdeab829f | ||
|
|
4e1b94d37d | ||
|
|
388d743d29 | ||
|
|
8dfccf55d1 | ||
|
|
fafcd02e7c | ||
|
|
defa0ae4d0 | ||
|
|
7db80d20f1 | ||
|
|
a86788f4d7 | ||
|
|
aecc119bac | ||
|
|
8dd3f24285 | ||
|
|
830c6a4894 | ||
|
|
3d37ac9235 | ||
|
|
3deea14559 | ||
|
|
534b578598 | ||
|
|
8355722f4e | ||
|
|
866ff628b7 | ||
|
|
fe9630bb20 | ||
|
|
bca9b3ca3f | ||
|
|
3a25313e61 | ||
|
|
fc66550a32 | ||
|
|
0255d0c59e | ||
|
|
5c12b0e5fa | ||
|
|
aa160e775c | ||
|
|
d3c152022c | ||
|
|
dbb011fc56 | ||
|
|
a6df928d45 | ||
|
|
dd3ae22e08 | ||
|
|
8ff0120642 | ||
|
|
3998fad7ef | ||
|
|
7f8cdf85d5 | ||
|
|
1871425b2d | ||
|
|
5f0ba48309 | ||
|
|
9743dc1ffb | ||
|
|
fcf2b9d1a7 | ||
|
|
9f37820901 | ||
|
|
4295a823c6 | ||
|
|
8191ebfc49 | ||
|
|
3fe12f1249 | ||
|
|
230c83d218 | ||
|
|
11a3308cf5 | ||
|
|
3992ff6b59 | ||
|
|
a05c7a815a | ||
|
|
a7807420fa | ||
|
|
47a52b0587 | ||
|
|
d67a8a4708 | ||
|
|
9c01bbca95 | ||
|
|
554eb3a342 | ||
|
|
9a56b2d20f | ||
|
|
4771ea7cd4 | ||
|
|
aec496d520 | ||
|
|
cb5c59c86c | ||
|
|
628c8e10f7 | ||
|
|
a6361d6221 | ||
|
|
39c5898fa4 | ||
|
|
09d1e3629a | ||
|
|
86ad15612a | ||
|
|
c9152b0b3a | ||
|
|
eb2719fad1 | ||
|
|
a27edcad1c | ||
|
|
15cc4502b4 | ||
|
|
f6ed3dff7f | ||
|
|
101d4f6444 | ||
|
|
fde3ff1bbf | ||
|
|
53de44f272 | ||
|
|
f5c5c32d1d | ||
|
|
9a988d89e3 | ||
|
|
b51f865c54 | ||
|
|
fb46c33d7f | ||
|
|
856ca22aad | ||
|
|
508fa14385 | ||
|
|
5b190c5098 | ||
|
|
6b5e06de50 | ||
|
|
be5f4c9a71 | ||
|
|
7b69282c7e | ||
|
|
54cc3e6315 | ||
|
|
66146c382d | ||
|
|
989f0cc683 | ||
|
|
e02d209e6f | ||
|
|
6445c0563e | ||
|
|
583b0fa778 | ||
|
|
fee517384c | ||
|
|
aa260d263b | ||
|
|
a08dd1f6e1 | ||
|
|
f107866b42 | ||
|
|
7f3c97fb01 | ||
|
|
65cc4d3fbc | ||
|
|
fdd89d65ca | ||
|
|
ecbc0ae57e | ||
|
|
7905694b31 | ||
|
|
335704e176 | ||
|
|
c0bb8a8af7 | ||
|
|
76b8078bd9 | ||
|
|
c6c75a1980 | ||
|
|
93c15e5ee6 | ||
|
|
525cde3498 | ||
|
|
c4d33f9986 | ||
|
|
f0ad78d808 | ||
|
|
83850d9b86 | ||
|
|
0c4bda71fd | ||
|
|
d1687ab963 | ||
|
|
ea0f6b9a12 | ||
|
|
5cc7cb1d85 | ||
|
|
21b1ba1f88 | ||
|
|
1cd126d728 | ||
|
|
6861059d18 | ||
|
|
80d9938e96 | ||
|
|
fddcdf359b | ||
|
|
cdda7f8f9a | ||
|
|
086e46c162 | ||
|
|
ed061252a5 | ||
|
|
7c4e4d7fa2 | ||
|
|
4180ed09a5 | ||
|
|
f50bf0b97f | ||
|
|
2c75b4836d | ||
|
|
292e57ffc7 | ||
|
|
1a0e524b49 | ||
|
|
ffc20e4492 | ||
|
|
f2a5862714 | ||
|
|
faeb1483f2 | ||
|
|
a4c2138e74 | ||
|
|
1c5d410373 | ||
|
|
b9fb9af74f | ||
|
|
812dcb5e8d | ||
|
|
703b944839 | ||
|
|
e1ba9f8ff8 | ||
|
|
3db696d52f | ||
|
|
6d0dbebda9 | ||
|
|
f4d9618487 | ||
|
|
b7077eb71d | ||
|
|
1a4d326abb | ||
|
|
48cbdd9d40 | ||
|
|
26532ab9b4 | ||
|
|
c0e780a28f | ||
|
|
5c4daeee4c | ||
|
|
1c5abaa518 | ||
|
|
5586d231de | ||
|
|
3fbb643d51 | ||
|
|
766e7dadb1 | ||
|
|
ee9763c98f | ||
|
|
5e7aa4ff81 | ||
|
|
f162462111 | ||
|
|
088d23d557 | ||
|
|
fbcd5e2f1e | ||
|
|
c302219f9e | ||
|
|
21d136e224 | ||
|
|
487ddb5694 | ||
|
|
873ccf8096 | ||
|
|
696478843e | ||
|
|
2690618da2 | ||
|
|
68a0e32a3d | ||
|
|
449986456e | ||
|
|
2363a6bd44 | ||
|
|
41ed2d1b84 | ||
|
|
b873fee1cf | ||
|
|
e70052e966 | ||
|
|
101fdb1fba | ||
|
|
ebe4bbbf0f | ||
|
|
63669c1612 | ||
|
|
1c8db1e2e9 | ||
|
|
62463d2c3e | ||
|
|
247f8f4fcc | ||
|
|
34d15e7216 | ||
|
|
d46a5f693f | ||
|
|
8bfe407610 | ||
|
|
08e3a54a58 | ||
|
|
8c92f42de3 | ||
|
|
07106897a6 | ||
|
|
5d5b89c82d | ||
|
|
e42cc02d0e | ||
|
|
11a46a1072 | ||
|
|
a0fbbf2fb6 | ||
|
|
74e46f7b80 | ||
|
|
b8d1b8d6c1 | ||
|
|
7ae1ef0a1a | ||
|
|
13aa42c883 | ||
|
|
aca957595a | ||
|
|
c09fbcfeb3 | ||
|
|
def97b3f70 | ||
|
|
da373e3334 | ||
|
|
28a0402253 | ||
|
|
a09fa1b267 | ||
|
|
ea082e9604 | ||
|
|
917be105ac | ||
|
|
710f9d049f | ||
|
|
34a43fc62f | ||
|
|
5e77fe8412 | ||
|
|
52195ff95a | ||
|
|
5b77bd5aa0 | ||
|
|
fbf8cd04b5 | ||
|
|
7f776c70db | ||
|
|
1effaa4e03 | ||
|
|
66c94515f3 | ||
|
|
c2a1cc2ae8 | ||
|
|
ad41a81b66 | ||
|
|
2e374e68c5 | ||
|
|
8f82880b93 | ||
|
|
cd8d73c7ad | ||
|
|
c76389e126 | ||
|
|
76489a7885 | ||
|
|
df64c972d8 | ||
|
|
a1344e862a | ||
|
|
5faca8d4f6 | ||
|
|
48e2a5472e | ||
|
|
5a20014b1a | ||
|
|
20efa47126 | ||
|
|
5a1d52f82e | ||
|
|
4c604b34c1 | ||
|
|
ee5c827f26 | ||
|
|
643bedd4cf | ||
|
|
af165115f8 | ||
|
|
5964261db5 | ||
|
|
d4814c5cb0 | ||
|
|
a8df4453ff | ||
|
|
638d64d6f2 | ||
|
|
c97227825f | ||
|
|
25ffaaaa2d | ||
|
|
b3da99c302 | ||
|
|
cc4023d26a | ||
|
|
ca15fa3a97 | ||
|
|
67bdb4cec8 | ||
|
|
e13ed9b909 | ||
|
|
8e433971c9 | ||
|
|
f2801d4775 | ||
|
|
6cedf20c39 | ||
|
|
7df63db9b3 | ||
|
|
0303f18ac6 | ||
|
|
81fb32504b | ||
|
|
a72453fb1b | ||
|
|
b816d33d48 | ||
|
|
782114d644 | ||
|
|
0880c01a20 | ||
|
|
f7359093b4 | ||
|
|
17cef93ac0 | ||
|
|
012d59ab42 | ||
|
|
0bea2620b5 | ||
|
|
95af8da66a | ||
|
|
71e0e6ac4d | ||
|
|
bca444b92e | ||
|
|
ae1dacb7d7 | ||
|
|
e209737b1a | ||
|
|
7ad21ff713 | ||
|
|
c8810f87b9 | ||
|
|
1207ddb2ea | ||
|
|
edbc3f8fde | ||
|
|
dd9d604966 | ||
|
|
65d81f96f3 | ||
|
|
b08732cf28 | ||
|
|
fa818407e6 | ||
|
|
7f5a91d2bb | ||
|
|
25f18c0c3a | ||
|
|
472a714ef1 | ||
|
|
9b01621791 | ||
|
|
f04b25ea26 | ||
|
|
ab35829358 | ||
|
|
417f5684dc | ||
|
|
a143505fd6 | ||
|
|
cb5b6d0cb8 | ||
|
|
d44b303fb3 | ||
|
|
8188724920 | ||
|
|
070456882e | ||
|
|
134bc13169 | ||
|
|
667eb288d7 | ||
|
|
b0cc61c621 | ||
|
|
99afa1196c | ||
|
|
0a6535ea94 | ||
|
|
ce51abd9d0 | ||
|
|
a2c93bc040 | ||
|
|
7bcb6d556f | ||
|
|
31b460fe46 | ||
|
|
24fc162e71 | ||
|
|
98f3e9a853 | ||
|
|
a90a18920b | ||
|
|
6f746c238a | ||
|
|
8c60ac78aa | ||
|
|
91fda6b654 | ||
|
|
6f27e310ae | ||
|
|
96a2af842f | ||
|
|
9d81ea59dd | ||
|
|
91f0d049db | ||
|
|
27151d5e25 | ||
|
|
1b46cec4fb | ||
|
|
027340a8e0 | ||
|
|
0517f9f780 | ||
|
|
80ee40eb18 | ||
|
|
9194c68bd3 | ||
|
|
2dadc9bd7a | ||
|
|
180f83c528 | ||
|
|
dfa7cb1826 | ||
|
|
fdcb28f1a0 | ||
|
|
0e059ec788 | ||
|
|
c681f75ad3 | ||
|
|
9bf40c927e | ||
|
|
df2aeb0c58 | ||
|
|
2dec9c46a7 | ||
|
|
8f8100af3a | ||
|
|
65371ec1b8 | ||
|
|
647d6ae443 | ||
|
|
216692cd9b | ||
|
|
2e5930eb58 | ||
|
|
24b3b2a658 | ||
|
|
e1e286aa13 | ||
|
|
4081ceff22 | ||
|
|
7db57b72f1 | ||
|
|
9e0ca64e02 | ||
|
|
cc55e3b027 | ||
|
|
f78335aa67 | ||
|
|
f283aa033b | ||
|
|
7ff175a81e | ||
|
|
34d2e78308 | ||
|
|
9bd89121e8 | ||
|
|
2e0513a30f | ||
|
|
cf02a4cc31 | ||
|
|
5a1ec3c9e0 | ||
|
|
fa70bf9e0c | ||
|
|
9bd983bb9d | ||
|
|
1618daaeae | ||
|
|
ed4c3cccb2 | ||
|
|
90311dbf24 | ||
|
|
f7a354bfd1 | ||
|
|
a513b1c7b3 | ||
|
|
077e128e9a | ||
|
|
794ad7bda7 | ||
|
|
10906e2e16 | ||
|
|
a5e0b19b79 | ||
|
|
7c6bb132ce | ||
|
|
3ba210b6e4 | ||
|
|
faf090781d | ||
|
|
ab62b1591f | ||
|
|
397e1dde78 | ||
|
|
a935075782 | ||
|
|
588aabc6d7 | ||
|
|
ca47e4ebfd | ||
|
|
58b79ab112 | ||
|
|
cabf35f2b3 | ||
|
|
949104d879 | ||
|
|
101ec9a1c1 | ||
|
|
7cc38f8f6a | ||
|
|
9e73e22e13 | ||
|
|
4c6e1b2b1f | ||
|
|
3db913f15b | ||
|
|
bd1547cd5e | ||
|
|
c7e63ffef5 | ||
|
|
a69304fd25 | ||
|
|
e0c74c9546 | ||
|
|
2f816942b8 | ||
|
|
9fd8b040b7 | ||
|
|
f5a405e6f1 | ||
|
|
c79561e97f | ||
|
|
38a53687a0 | ||
|
|
94e43f8f8a | ||
|
|
7b4393ba48 | ||
|
|
56cb5ac9c6 | ||
|
|
76cafc5059 | ||
|
|
48bd693679 | ||
|
|
f32af6999b | ||
|
|
ac99784bf7 | ||
|
|
d94ef82327 | ||
|
|
06d4ea2975 | ||
|
|
b79ddb7a1c | ||
|
|
58a592ba47 | ||
|
|
9344504781 | ||
|
|
f7543e3261 | ||
|
|
0402b4f5f4 | ||
|
|
d5c5549c1a | ||
|
|
21d2f6a44f | ||
|
|
0ecef54e2b | ||
|
|
f6eccf85dc | ||
|
|
28f7dc73a5 | ||
|
|
8d43bdb084 | ||
|
|
8550099110 | ||
|
|
921c27c9b1 | ||
|
|
148c04fb41 | ||
|
|
eaf91bba58 | ||
|
|
da0d78135d | ||
|
|
f38fad2f92 | ||
|
|
73e550f432 | ||
|
|
8b96f7214e | ||
|
|
8202a1633b | ||
|
|
7013a0dfef | ||
|
|
0c43aabfec | ||
|
|
1a7353fb43 | ||
|
|
4d3e7ac30c | ||
|
|
7d342b9c6d | ||
|
|
e1709c11da | ||
|
|
6d3a6d20b5 | ||
|
|
91a6853f3c | ||
|
|
60d886a59a | ||
|
|
397797aac7 | ||
|
|
61461d0a87 | ||
|
|
0ae661edf0 | ||
|
|
fc6aa288c2 | ||
|
|
58dcba71a4 | ||
|
|
5ca3a81fe2 | ||
|
|
f316e3bd17 | ||
|
|
ebb10fb8ed | ||
|
|
d08dbb835f | ||
|
|
0d38106ed0 | ||
|
|
bca0e1e16c | ||
|
|
96d1fe336a | ||
|
|
305e15dd03 | ||
|
|
22287d4c03 | ||
|
|
341b44119f | ||
|
|
0798a0148a | ||
|
|
51c0df79fe | ||
|
|
42febdb240 | ||
|
|
5fe1175602 | ||
|
|
bf57a1506f | ||
|
|
7b496b3741 | ||
|
|
197cdc3928 | ||
|
|
8d14112c5a | ||
|
|
61659244b7 | ||
|
|
19023b4cc2 | ||
|
|
5dcf341aaa | ||
|
|
4993ff1921 | ||
|
|
d1536d0572 | ||
|
|
836fe119d9 | ||
|
|
0b3644b334 | ||
|
|
7357119b1a | ||
|
|
545915e481 | ||
|
|
6f90dc2374 | ||
|
|
91dcfff423 | ||
|
|
58b4798b79 | ||
|
|
843d63c221 | ||
|
|
3b864d63b9 | ||
|
|
2a51e2aa59 | ||
|
|
67f2daa43c | ||
|
|
c3db57a4fc | ||
|
|
885b82b437 | ||
|
|
6487d91722 | ||
|
|
5b4f70ff96 | ||
|
|
75fdd5315f | ||
|
|
8ee5c70708 | ||
|
|
b398444b91 | ||
|
|
9e6f2a5d2e | ||
|
|
7245319351 | ||
|
|
82912f4a0b | ||
|
|
1968ca07de | ||
|
|
8c04bed572 | ||
|
|
ae56c5266f | ||
|
|
0a9db8533b | ||
|
|
85e234938d | ||
|
|
816ee794e8 | ||
|
|
624f33c5e2 | ||
|
|
693c30d264 | ||
|
|
17e08f9291 | ||
|
|
cedf8a65e7 | ||
|
|
0a39e7e2b1 | ||
|
|
5c87b42135 | ||
|
|
e39b95175b | ||
|
|
1791b251ad | ||
|
|
507b7d7193 | ||
|
|
839e59075d | ||
|
|
4962fdf5ae | ||
|
|
fee8690ca6 | ||
|
|
25a718c54b | ||
|
|
401bc86f27 | ||
|
|
c3ad0ae129 | ||
|
|
8fe56b9a7d | ||
|
|
1b649299ff | ||
|
|
6ba57e713e | ||
|
|
758cf0388e | ||
|
|
9de95cee23 | ||
|
|
b35d2505a4 | ||
|
|
240ced395b | ||
|
|
9e8e49b8d9 | ||
|
|
b76bfe2008 | ||
|
|
3dd26dac6e | ||
|
|
04e587b999 | ||
|
|
adcecaa195 | ||
|
|
6fe0fe6fd6 | ||
|
|
7fdac9cd94 | ||
|
|
5c0a1bafe2 | ||
|
|
7d2d5c6100 | ||
|
|
513a9f8d45 | ||
|
|
330b4a0b00 | ||
|
|
8ae159dd66 | ||
|
|
2de96682db | ||
|
|
80273c57d0 | ||
|
|
fe3c33fb52 | ||
|
|
c9a26fd006 | ||
|
|
11d4c50202 | ||
|
|
7dd50fa931 | ||
|
|
5d0e89db5d | ||
|
|
d9785f6071 | ||
|
|
f3e65d400d | ||
|
|
85e6f55536 | ||
|
|
b6046d829f | ||
|
|
665a1acfd8 | ||
|
|
d51fd7b3ad | ||
|
|
b94099e25b | ||
|
|
5fc4f4ed36 | ||
|
|
d47a38dfcf | ||
|
|
f5353080e7 | ||
|
|
6fb980ca79 | ||
|
|
3f0b57ec11 | ||
|
|
f5dfeb0c50 | ||
|
|
139d4e72b5 | ||
|
|
2334ba1fe1 | ||
|
|
110e7c8074 | ||
|
|
f643446d1b | ||
|
|
a813793007 | ||
|
|
972fdb5c76 | ||
|
|
0e4b057220 | ||
|
|
6869cc7d04 | ||
|
|
68ddabea5c | ||
|
|
60c84bbf51 | ||
|
|
4c61f27826 | ||
|
|
3f3b9f3608 | ||
|
|
2eff766e88 | ||
|
|
8b54910538 | ||
|
|
66662e02a6 | ||
|
|
81e728ada0 | ||
|
|
47c22c6cec | ||
|
|
983c2c0869 | ||
|
|
ab3f9fbea2 | ||
|
|
a1f2fb46f9 | ||
|
|
9a18ecf93d | ||
|
|
bcd8c87c65 | ||
|
|
21df34ad55 | ||
|
|
2c1e27add0 | ||
|
|
878e46c61a | ||
|
|
7cea6ede1a | ||
|
|
57f0158ade | ||
|
|
9e3f13ba2e | ||
|
|
6148b78745 | ||
|
|
e24b0559d3 | ||
|
|
10e34aa996 | ||
|
|
6052a0de0e | ||
|
|
78d4f29af3 | ||
|
|
b04c03a5c3 | ||
|
|
1cc5b224c7 | ||
|
|
9665d5cb45 | ||
|
|
e0978f86d1 | ||
|
|
413be7d76d | ||
|
|
972b5078f6 | ||
|
|
25587d7e8e | ||
|
|
c91e29d15d | ||
|
|
03aeaadd5b | ||
|
|
18195f9c4e | ||
|
|
75dcce0b3c | ||
|
|
ee6d80673a | ||
|
|
8f290451b6 | ||
|
|
c58a48276f | ||
|
|
b7550f63c9 | ||
|
|
0bfff65306 | ||
|
|
6bde8cdce4 | ||
|
|
9332032839 | ||
|
|
7873cb4373 | ||
|
|
2661fe5cd5 | ||
|
|
43c8046e4c | ||
|
|
611a3e2f8a | ||
|
|
b9119e5ef6 | ||
|
|
1e6d4d6b41 | ||
|
|
5915f3f928 | ||
|
|
87ff770020 | ||
|
|
8446fa5a4d | ||
|
|
efb59e8c3a | ||
|
|
2377873c45 | ||
|
|
2049f3e55a | ||
|
|
e102793d93 | ||
|
|
b86da76613 | ||
|
|
59100a51c6 | ||
|
|
bf0f956325 | ||
|
|
132d884600 | ||
|
|
b4d10ca693 | ||
|
|
38a99c4669 | ||
|
|
e2b212dba9 | ||
|
|
c1598ff4ed | ||
|
|
299143108b | ||
|
|
0339b1b54b | ||
|
|
9f7c45e35c | ||
|
|
966dcd5509 | ||
|
|
52f7c8f064 | ||
|
|
b88a49d2f8 | ||
|
|
0eb2d28d90 | ||
|
|
185bdb6704 | ||
|
|
206dcd1102 | ||
|
|
8a60658af7 | ||
|
|
0b77c0bce8 | ||
|
|
983a13f66b | ||
|
|
820b07b2bc | ||
|
|
0496a52cdd | ||
|
|
9da9775043 | ||
|
|
e3ddac1686 | ||
|
|
8d02d81a9a | ||
|
|
565b56fb5f | ||
|
|
040ee90aec | ||
|
|
843f983051 | ||
|
|
9dfd7f4ba9 | ||
|
|
b74dea8662 | ||
|
|
7593be4361 | ||
|
|
5fe75fbd5f | ||
|
|
d581e00299 | ||
|
|
3f2bed8a92 | ||
|
|
ba1f1af83e | ||
|
|
8bb4d31409 | ||
|
|
0557eeddbd | ||
|
|
c438692d49 | ||
|
|
086684ca69 | ||
|
|
d6a919c372 | ||
|
|
8a4a7897a0 | ||
|
|
e99739ca0e | ||
|
|
96062039c7 | ||
|
|
c78cc331d1 | ||
|
|
061bd109d2 | ||
|
|
e7dcd5ab15 | ||
|
|
530a385d4e | ||
|
|
23874a0a26 | ||
|
|
3b46382550 | ||
|
|
b3d5ac1660 | ||
|
|
622fbdb64b | ||
|
|
d0afe83beb | ||
|
|
771bba4e01 | ||
|
|
ded6933867 | ||
|
|
2214e980ef | ||
|
|
299dc3fc96 | ||
|
|
0a6e012e90 | ||
|
|
96a0fcb28f | ||
|
|
fd24aff6b1 | ||
|
|
2e816f2a67 | ||
|
|
6f89d01452 | ||
|
|
11525a1e50 | ||
|
|
5f2e295d63 | ||
|
|
0cdac83f8a | ||
|
|
e050e270fc | ||
|
|
29fc69ebaa | ||
|
|
f42f79ea95 | ||
|
|
d5ff728da6 | ||
|
|
a3252c13d7 | ||
|
|
30d000e139 | ||
|
|
f4911431d5 | ||
|
|
28c0e815b3 | ||
|
|
c4f90983af | ||
|
|
06b081f509 | ||
|
|
f6eb2c5205 | ||
|
|
60ac7572af | ||
|
|
b267957abe | ||
|
|
4925af69e2 | ||
|
|
0a716036c2 | ||
|
|
d18164bc51 | ||
|
|
d78523e905 | ||
|
|
3156dc0f1a | ||
|
|
038361a1e9 | ||
|
|
b71a901182 | ||
|
|
caf2e19d27 | ||
|
|
aedf85c965 | ||
|
|
a7e695d914 | ||
|
|
291a6b73ab | ||
|
|
475f0e9544 | ||
|
|
bf659938ba | ||
|
|
392ab20a47 | ||
|
|
33f59dd3ec | ||
|
|
aedbd6dfe4 | ||
|
|
5a8ce36181 | ||
|
|
10b7d7c473 | ||
|
|
7fedf24d9e | ||
|
|
5ed698ac69 | ||
|
|
297856db32 | ||
|
|
6418c9c718 | ||
|
|
413eafb240 | ||
|
|
4c2a0fa630 | ||
|
|
a925822141 | ||
|
|
cd6a189990 | ||
|
|
07a274f927 | ||
|
|
eb240defa3 | ||
|
|
4659b664e7 | ||
|
|
d2c6de3df6 | ||
|
|
e8a3535c74 | ||
|
|
46690da488 | ||
|
|
f11c76d06b | ||
|
|
e57b5a7a47 | ||
|
|
5ec758637d | ||
|
|
33ffa0715d | ||
|
|
8f719f8c06 | ||
|
|
da0387a23e | ||
|
|
9eea4fcf03 | ||
|
|
5efc334a04 | ||
|
|
6fa3122bb6 | ||
|
|
71e653db30 | ||
|
|
bc1eff83cb | ||
|
|
f4edb7ada5 | ||
|
|
e83dd2037a | ||
|
|
f619afc4c6 | ||
|
|
7ad7028880 | ||
|
|
8e241e8b78 | ||
|
|
6226cf2809 | ||
|
|
7312114b75 | ||
|
|
0ff299758a | ||
|
|
de7c886008 | ||
|
|
e3aacc8072 | ||
|
|
4fc2c18f58 | ||
|
|
8a8e101cd0 | ||
|
|
c10dee11e8 | ||
|
|
4e5c4a462b | ||
|
|
bc7139d67a | ||
|
|
bf0bf908c2 | ||
|
|
dd005d9027 | ||
|
|
670a725c53 | ||
|
|
af28e3b0d7 | ||
|
|
ca90b8b8fd | ||
|
|
7b7b9db20b | ||
|
|
96dbb38aaa | ||
|
|
1b7777e3a0 | ||
|
|
5480a63beb | ||
|
|
cbf040b4dc | ||
|
|
8eb7f1f1aa | ||
|
|
8d28d0691f | ||
|
|
7dd24a30b5 | ||
|
|
1725927aea | ||
|
|
50ea4e316e | ||
|
|
734b426518 | ||
|
|
232d3dcb54 | ||
|
|
eaf1e2b18e | ||
|
|
4b7e5750ec | ||
|
|
d4af14041c | ||
|
|
b736d45bc4 | ||
|
|
7f7318c0bf | ||
|
|
0e2c282476 | ||
|
|
891d200e2d | ||
|
|
647ea44881 | ||
|
|
2c81014188 | ||
|
|
6c4943de97 | ||
|
|
f1d97fb92c | ||
|
|
26b05cf844 | ||
|
|
155cd8ce42 | ||
|
|
330fc35800 | ||
|
|
570cd9bdfa | ||
|
|
cd3c5e4ade | ||
|
|
38f94c63e9 | ||
|
|
34ab04cbe6 | ||
|
|
6b242a982b | ||
|
|
0d0307e175 | ||
|
|
835b1801bc | ||
|
|
5444b8166c | ||
|
|
c94a88e154 | ||
|
|
b185af6f0c | ||
|
|
8504bbb9d5 | ||
|
|
b2f1177661 | ||
|
|
6746d4ba2d | ||
|
|
0f7567970c | ||
|
|
7b7df23e3b | ||
|
|
252a6f9d5a | ||
|
|
a1adf2dae6 | ||
|
|
f4d1cdf14d | ||
|
|
22d905b39c | ||
|
|
58bbc3f537 | ||
|
|
03a59b04be | ||
|
|
2028116e22 | ||
|
|
244361b5c6 | ||
|
|
7e680624a0 | ||
|
|
3304ad7222 | ||
|
|
4384c80961 | ||
|
|
15befa98c4 | ||
|
|
b7ea15b83d | ||
|
|
3915957612 | ||
|
|
20ad611924 | ||
|
|
57b85ac30f | ||
|
|
81375a05f1 | ||
|
|
50586eb06d | ||
|
|
afa9393f38 | ||
|
|
c1aa1c5a0f | ||
|
|
78d245c02c | ||
|
|
ffc9585196 | ||
|
|
6003ac2132 | ||
|
|
0cdd0a9ff9 | ||
|
|
7a7f157a8e | ||
|
|
f1718f1d10 | ||
|
|
a1b53f07d5 | ||
|
|
e8ed307278 | ||
|
|
0690c4f98c | ||
|
|
6d27172b20 | ||
|
|
bed3aa1a7f | ||
|
|
477f175f76 | ||
|
|
1540f6f528 | ||
|
|
3d846fcd49 | ||
|
|
5cb66c99bd | ||
|
|
8d4be19952 | ||
|
|
cdca00368f | ||
|
|
8884cb190a | ||
|
|
df6972eeba | ||
|
|
2a805853ec | ||
|
|
f0ab72ffbc | ||
|
|
a851497bbf | ||
|
|
e6d94b5ee7 | ||
|
|
23f23e3ca5 | ||
|
|
dde63a9047 | ||
|
|
5bb68cfd8f | ||
|
|
70b6335b11 | ||
|
|
47c5d56c7b | ||
|
|
fde769e0b9 | ||
|
|
23b39923ad | ||
|
|
a7d0473a1a | ||
|
|
12ca6f3819 | ||
|
|
31e3c6a2c6 | ||
|
|
7b5985445c | ||
|
|
2019c24e08 | ||
|
|
0cc7cdd212 | ||
|
|
16396b5d90 | ||
|
|
5666f14829 | ||
|
|
d41372dccd | ||
|
|
2e6c15ff9d | ||
|
|
0ce6e8a33a | ||
|
|
be659e2611 | ||
|
|
47044ab25e | ||
|
|
731e53bc99 | ||
|
|
e38d683979 | ||
|
|
e9ec09b91a | ||
|
|
7fcc5d649c | ||
|
|
6601a00eea | ||
|
|
743743ca10 | ||
|
|
bd121752f1 | ||
|
|
facc729234 | ||
|
|
a5df46f381 | ||
|
|
5530172add | ||
|
|
59636ac072 | ||
|
|
12cbf78191 | ||
|
|
0a40bf2071 | ||
|
|
7546245213 | ||
|
|
fc77b0a51c | ||
|
|
346daee421 | ||
|
|
61c5b45d7a | ||
|
|
85fd117675 | ||
|
|
a563cf553c | ||
|
|
18151359f3 | ||
|
|
16fa56de48 | ||
|
|
412d3f8350 | ||
|
|
6ad2cd38ed | ||
|
|
d91a2403b0 | ||
|
|
1027bd431a | ||
|
|
fed20435ad | ||
|
|
b2ac84c8c6 | ||
|
|
8c06b08f30 | ||
|
|
2ce2a14228 | ||
|
|
46dab1a6b4 | ||
|
|
805be84bff | ||
|
|
b1ee91b06b | ||
|
|
6873d53993 | ||
|
|
929c55a2a1 | ||
|
|
2e17b480a5 | ||
|
|
1395237810 | ||
|
|
bc254228c9 | ||
|
|
f2cd364e14 | ||
|
|
28ae5fd65c | ||
|
|
493ba6f2cd | ||
|
|
f2465eba73 | ||
|
|
1df955e30a | ||
|
|
02da80439b | ||
|
|
3b373e236e | ||
|
|
839bf313cf | ||
|
|
6061d9d65b | ||
|
|
021454dbd4 | ||
|
|
f6918feea3 | ||
|
|
6c00b7efde | ||
|
|
a1b53c660e | ||
|
|
9ed8cbe2d1 | ||
|
|
eaae662b7d | ||
|
|
7da52bd3ec | ||
|
|
e4f7b3c7c2 | ||
|
|
ee45bbe4c6 | ||
|
|
5aab168b3e | ||
|
|
ce8d68fc8c | ||
|
|
6d216042e6 | ||
|
|
a5c83467d6 | ||
|
|
b5d9eee489 | ||
|
|
ed3b2cc017 | ||
|
|
f663a2bf08 | ||
|
|
ec0c3c5f82 | ||
|
|
d3af60ff0b | ||
|
|
ae977044f6 | ||
|
|
6d80471fc9 | ||
|
|
b80dd99172 | ||
|
|
6456a83a22 | ||
|
|
9510492174 | ||
|
|
a441a9fca9 | ||
|
|
81790b2271 | ||
|
|
b14ba398e6 | ||
|
|
e88305d984 | ||
|
|
31009b19c6 | ||
|
|
83720d8789 | ||
|
|
b0dbe9d353 | ||
|
|
08167a6a91 | ||
|
|
12bbd971b3 | ||
|
|
0838d21a05 | ||
|
|
f48d6dc464 | ||
|
|
4b8cc3d355 | ||
|
|
6576959948 | ||
|
|
3da0af3550 | ||
|
|
195d3d13d7 | ||
|
|
701acace21 | ||
|
|
bc76f5ee1e | ||
|
|
5f5770dd46 | ||
|
|
fb230a443e | ||
|
|
a4a7a77abd | ||
|
|
12705c9065 | ||
|
|
f8318177b9 | ||
|
|
6f0cf30b12 | ||
|
|
ae08a2f697 | ||
|
|
a5eb5a6ea2 | ||
|
|
d254058690 | ||
|
|
2fa2fa41c5 | ||
|
|
3f8e822621 | ||
|
|
6c3e1568da | ||
|
|
fb2a26fb35 | ||
|
|
6c2f16e9a0 | ||
|
|
ce0045ff70 | ||
|
|
87445ccf8c | ||
|
|
46651ab945 | ||
|
|
4838d1bfc9 | ||
|
|
e8b03248e1 | ||
|
|
dcd6028e91 | ||
|
|
5195b4d3ef | ||
|
|
692d115313 | ||
|
|
c207743338 | ||
|
|
f82989c9c3 | ||
|
|
c48ed2e62b | ||
|
|
d1e37864ac | ||
|
|
bcec2f6b84 | ||
|
|
6b70cc342a | ||
|
|
7d89b54d1c | ||
|
|
dd933cf61c | ||
|
|
c3b3819d9f | ||
|
|
63c61637f8 | ||
|
|
a35947141c | ||
|
|
90b3b5c3e5 | ||
|
|
21efb44e81 | ||
|
|
e6672432bb | ||
|
|
8c63feb11e | ||
|
|
68e35a6cad | ||
|
|
dbd4eaed48 | ||
|
|
9e4b752830 | ||
|
|
958d3b7c15 | ||
|
|
30ae322cf0 | ||
|
|
755325fef3 | ||
|
|
ffc557a0f9 | ||
|
|
27f015561a | ||
|
|
228e2f7031 | ||
|
|
afc98f03fa | ||
|
|
7fa1986b27 | ||
|
|
f7448bbc7f | ||
|
|
5939c54d33 | ||
|
|
d408fca96f | ||
|
|
2a1219679f | ||
|
|
120e21c126 | ||
|
|
d1d9e29ca5 | ||
|
|
bcf01cf718 | ||
|
|
daa934014c | ||
|
|
ef535ca026 | ||
|
|
843089733b | ||
|
|
6e1b6e6e53 | ||
|
|
4232fa2f6e | ||
|
|
746d58e453 | ||
|
|
f2e69d2621 | ||
|
|
8ffdfa7923 | ||
|
|
89f3b45888 | ||
|
|
a2774848ba | ||
|
|
36fc7d1991 | ||
|
|
8060c7e141 | ||
|
|
b7c4e867e8 | ||
|
|
d259656e89 | ||
|
|
540ba9bfaf | ||
|
|
0411f05c39 | ||
|
|
54c409d967 | ||
|
|
b76e5853a8 | ||
|
|
e071e2cf6f | ||
|
|
bff74452b7 | ||
|
|
c0c7b39375 | ||
|
|
695733f520 | ||
|
|
7adfe93a8d | ||
|
|
8d354382a4 | ||
|
|
5ac51efb3e | ||
|
|
e2cdb8a9ed | ||
|
|
9757489645 | ||
|
|
902dee0c2a | ||
|
|
25f90b5159 | ||
|
|
232ed0a7c0 | ||
|
|
25583fa813 | ||
|
|
61b55706ae | ||
|
|
d3420b6a92 | ||
|
|
e922e5be39 | ||
|
|
296c800b39 | ||
|
|
c39bf239ea | ||
|
|
2ab3cda743 | ||
|
|
a627ed0929 | ||
|
|
8b503d4930 | ||
|
|
6e833baf91 | ||
|
|
3dbe187f56 | ||
|
|
e569b8c5f9 | ||
|
|
2becd307df | ||
|
|
3c18532612 | ||
|
|
2f85997c9f | ||
|
|
e8ead2974b | ||
|
|
bb7730eee1 | ||
|
|
0518a456f8 | ||
|
|
8e3274cd8f | ||
|
|
cce99a96ac | ||
|
|
b84abbec08 | ||
|
|
be87118778 | ||
|
|
27a4d0f029 | ||
|
|
b842761ea3 | ||
|
|
60f45ab9b3 | ||
|
|
5f0741a0a5 | ||
|
|
ed4b9bc40b | ||
|
|
51a6ec0952 | ||
|
|
686abd63b5 | ||
|
|
da2191e9d5 | ||
|
|
33d2ec0f54 | ||
|
|
6df0591e82 | ||
|
|
d1b9b8e3a3 | ||
|
|
b21f72fef0 | ||
|
|
697fdd4294 | ||
|
|
4964b8b488 | ||
|
|
6ae68b337d | ||
|
|
28899a642b | ||
|
|
4518e94c8a | ||
|
|
59b0b0659a | ||
|
|
2dccca7b16 | ||
|
|
7ab87486dc | ||
|
|
8bb14f4565 | ||
|
|
8f31e1ab31 | ||
|
|
041e366df7 | ||
|
|
47aa03ce37 | ||
|
|
4424dbf64a | ||
|
|
983db3a682 | ||
|
|
c58df19b93 | ||
|
|
8a8e0c1182 | ||
|
|
7fb1463c43 | ||
|
|
c9a6728b4f | ||
|
|
2d185cf66e | ||
|
|
30c9bcb985 | ||
|
|
c09dab2b3a | ||
|
|
143181095f | ||
|
|
1a16df4037 | ||
|
|
0edca8cfdb | ||
|
|
019939a09d | ||
|
|
9d66e88fc1 | ||
|
|
d0a7e6be73 | ||
|
|
72e34dc5b1 | ||
|
|
a86c85485a | ||
|
|
3da020dffd | ||
|
|
c65a280b9d | ||
|
|
eec5b78054 | ||
|
|
218f991547 | ||
|
|
8d7a13cc3d | ||
|
|
bc0c355d2d | ||
|
|
b39987c343 | ||
|
|
1d8e76aa08 | ||
|
|
204d91d567 | ||
|
|
38e6a0ae7e | ||
|
|
ef927c8465 | ||
|
|
1d895cd953 | ||
|
|
eb4d2a38b6 | ||
|
|
b030824ef5 | ||
|
|
177078b0af | ||
|
|
0480e02b23 | ||
|
|
2436ad74bd | ||
|
|
85b434bee4 | ||
|
|
90234cb7a0 | ||
|
|
2d48cde27a | ||
|
|
4692fdeb5f | ||
|
|
47977009b8 | ||
|
|
06ed7b8eaf | ||
|
|
a248cef15d | ||
|
|
74253fb7f2 | ||
|
|
7bb3b4d807 | ||
|
|
a3c406dd00 | ||
|
|
3e6d483939 | ||
|
|
b0f14d1856 | ||
|
|
2796c53542 | ||
|
|
8958ae0377 | ||
|
|
2b3631f3ae | ||
|
|
3cff50009c | ||
|
|
26c08236cd | ||
|
|
3da0533339 | ||
|
|
6e0394dd42 | ||
|
|
38d20c506e | ||
|
|
b1ca0f5ea3 | ||
|
|
eb05e62422 | ||
|
|
9155591e8a | ||
|
|
9fa284a6d1 | ||
|
|
e880c4876e | ||
|
|
8a0c275658 | ||
|
|
2ada4d841f | ||
|
|
d313bd56a6 | ||
|
|
d607f0768a | ||
|
|
31a66d66e2 | ||
|
|
d0f7c6c210 | ||
|
|
07689476a6 | ||
|
|
cdef9fa14f | ||
|
|
7fa274a68e | ||
|
|
3186e1e495 | ||
|
|
48eb72a9c2 | ||
|
|
78f55c10e9 | ||
|
|
a74baaea36 | ||
|
|
807bebb3cf | ||
|
|
d4d1d438be | ||
|
|
55b1ba128d | ||
|
|
bd2be4e0c1 | ||
|
|
27ff8d4bf5 | ||
|
|
1310b156dc | ||
|
|
3366e05b77 | ||
|
|
45ce0ecb1f | ||
|
|
8ff3779c9a | ||
|
|
494254496e | ||
|
|
475b35bf55 | ||
|
|
19f4e50e33 | ||
|
|
fac8e48381 | ||
|
|
dd9bd43331 | ||
|
|
23c2e5364a | ||
|
|
0326976473 | ||
|
|
dac96bfc4a | ||
|
|
b3d1602354 | ||
|
|
d12177befd | ||
|
|
e693a98bd4 | ||
|
|
3a599e0752 | ||
|
|
0cbb0014db | ||
|
|
1ecd6866c7 | ||
|
|
1466338e7e | ||
|
|
2a3fd0066d | ||
|
|
5d10c02b5b | ||
|
|
af9edc17d2 | ||
|
|
c932f3d9df | ||
|
|
e08f5437a6 | ||
|
|
dbb6371e67 | ||
|
|
b2414939c9 | ||
|
|
19b77ee4ac | ||
|
|
09b429592f | ||
|
|
7f71ef3784 | ||
|
|
2dadf7ce57 | ||
|
|
d460897f84 | ||
|
|
9dc660c8ec | ||
|
|
1f0e2b1692 | ||
|
|
8d6e1b1697 | ||
|
|
2e4426aac0 | ||
|
|
42e544abff | ||
|
|
f7374aa7b7 | ||
|
|
9f2b6a7ee1 | ||
|
|
29493a0693 | ||
|
|
6e33f039b2 | ||
|
|
140e6d6268 | ||
|
|
ec6e46dae7 | ||
|
|
abd755d7fc | ||
|
|
ff2d959abd | ||
|
|
d35b295d5e | ||
|
|
a65c76ea69 | ||
|
|
802349d042 | ||
|
|
c8a379e85e | ||
|
|
1cfe9d0ff5 | ||
|
|
53e48beb03 | ||
|
|
d2e27726ca | ||
|
|
a774e9b712 | ||
|
|
6d9173bca8 | ||
|
|
c1d862d8de | ||
|
|
e1478359e6 | ||
|
|
8bc4e3816b | ||
|
|
48332c0c6b | ||
|
|
3455344c62 | ||
|
|
e5a5273b3a | ||
|
|
2bd561821a | ||
|
|
763b347a8f | ||
|
|
c514c62d61 | ||
|
|
130c41d711 | ||
|
|
77df38b4fd | ||
|
|
c773bffec6 | ||
|
|
20d04a065e | ||
|
|
951d93832c | ||
|
|
143cfe0d0f | ||
|
|
3b843f3d0f | ||
|
|
5ad2fc12d9 | ||
|
|
9752224449 | ||
|
|
f1307f70ce | ||
|
|
2ffc0196dd | ||
|
|
3503be03c9 | ||
|
|
40fc7379bc | ||
|
|
48a20f0e71 | ||
|
|
b33b59b8b9 | ||
|
|
2f4b2d0a33 | ||
|
|
ba4dcc42dc | ||
|
|
fc7c5d0ab3 | ||
|
|
086f754a96 | ||
|
|
7345408568 | ||
|
|
e536d5ad59 | ||
|
|
72b26861a9 | ||
|
|
eb6b2c7d2e | ||
|
|
48fde28484 | ||
|
|
fd6a312abc | ||
|
|
eb939fa4b0 | ||
|
|
0902741b85 | ||
|
|
cf247384d3 | ||
|
|
fa0e255183 | ||
|
|
5d6dafeeda | ||
|
|
31a847fb9d | ||
|
|
4f0cff5467 | ||
|
|
d543073632 | ||
|
|
956d048d56 | ||
|
|
9eb8a93719 | ||
|
|
d919f3e705 | ||
|
|
9950629e4e | ||
|
|
8f135d7e00 | ||
|
|
8d13014613 | ||
|
|
1a67b31ee9 | ||
|
|
2d9ccbc428 | ||
|
|
3c8fb5f1f6 | ||
|
|
e616c39608 | ||
|
|
377d333f1c | ||
|
|
6798b86655 | ||
|
|
b298c72b52 | ||
|
|
f1d52c12ae | ||
|
|
4a9821117b | ||
|
|
3c84899edf | ||
|
|
4369c23314 | ||
|
|
15ee4b40dc | ||
|
|
eb47b9468c | ||
|
|
16ce28f4d2 | ||
|
|
e7b6d7b498 | ||
|
|
41dc0f4e98 | ||
|
|
043cba0a64 | ||
|
|
c8aa7672e9 | ||
|
|
a9929a5d51 | ||
|
|
79a90956f7 | ||
|
|
9fdd75113f | ||
|
|
b600050057 | ||
|
|
c9288f2d0a | ||
|
|
f710fe2dd3 | ||
|
|
aa17702c01 | ||
|
|
9d6fb22d11 | ||
|
|
4875060e8f | ||
|
|
6db52f7fa9 | ||
|
|
1cc1aab823 | ||
|
|
1a645a8496 | ||
|
|
e1a8c89ff1 | ||
|
|
2d1d62a953 | ||
|
|
7f950d2de2 | ||
|
|
c2aa8d3c77 | ||
|
|
0bf55835f5 | ||
|
|
a41e0c4aa7 | ||
|
|
1d6aba86ba | ||
|
|
45dabbf9ab | ||
|
|
4bdb2c48c7 | ||
|
|
4a5f467560 | ||
|
|
ef2faf676e | ||
|
|
3d2f025e10 | ||
|
|
acbaf83442 | ||
|
|
1b54ccb59c | ||
|
|
886327a1d0 | ||
|
|
2ebab6a13c | ||
|
|
a18e3e5616 | ||
|
|
376941dd5e | ||
|
|
828b42e4f1 | ||
|
|
a5eee9bd3e | ||
|
|
fee1cec3d9 | ||
|
|
1247bd19b6 | ||
|
|
325e28f3a8 | ||
|
|
5d37517eac | ||
|
|
5b3ac58578 | ||
|
|
01a5aa30df | ||
|
|
6b8d3aa48c | ||
|
|
f1f7333c7a | ||
|
|
73a8d27bfd | ||
|
|
139882113d | ||
|
|
5b7d936140 | ||
|
|
903795d0e5 | ||
|
|
0562024444 | ||
|
|
78815800d0 | ||
|
|
344890c533 | ||
|
|
5529e24000 | ||
|
|
538ffb9727 | ||
|
|
d277b0d4bb | ||
|
|
90a4b66366 | ||
|
|
da49d8440a | ||
|
|
18f3e45657 | ||
|
|
c91bdf3fef | ||
|
|
8546814a25 | ||
|
|
453661d611 | ||
|
|
866bc4ff8a | ||
|
|
ff3e6c429d | ||
|
|
52731a737a | ||
|
|
3d8dadc2e7 | ||
|
|
042c9fc23d | ||
|
|
38114d3297 | ||
|
|
947963d5d1 | ||
|
|
efbf67a8ff | ||
|
|
3e4088b413 | ||
|
|
0479b214da | ||
|
|
3d9e0030c5 | ||
|
|
780fe61ff2 | ||
|
|
f970ac3163 | ||
|
|
a8f3582cb1 | ||
|
|
47eead17b1 | ||
|
|
5c20ae0411 | ||
|
|
c563280b76 | ||
|
|
c4a4e99f6b | ||
|
|
75c12dda31 | ||
|
|
2ea4c87d78 | ||
|
|
1da2a7c10c | ||
|
|
f7999bc993 | ||
|
|
227aa36627 | ||
|
|
ce1973fd30 | ||
|
|
50fa8b63c9 | ||
|
|
37b5329af3 | ||
|
|
6d2fc5c642 | ||
|
|
578cf4ed61 | ||
|
|
298bd2a476 | ||
|
|
c00456e12e | ||
|
|
708bf688ea | ||
|
|
96202f775c | ||
|
|
26ca5fafbb | ||
|
|
3423bd69dc | ||
|
|
a7b692e8ed | ||
|
|
e623d05e37 | ||
|
|
cb798ab3c5 | ||
|
|
f83610778a | ||
|
|
8660ab555b | ||
|
|
ffe75444d1 | ||
|
|
86982da5f7 | ||
|
|
a62a47098e | ||
|
|
1629793ace | ||
|
|
273637f9ac | ||
|
|
e90468f67b | ||
|
|
a41912cdf3 | ||
|
|
07e2eb4c57 | ||
|
|
f517494c91 | ||
|
|
c7e8b153bb | ||
|
|
8419a56e10 | ||
|
|
ff657347b8 | ||
|
|
b5640fdb0a | ||
|
|
58933df54b | ||
|
|
96a0e1c237 | ||
|
|
82d92d21f6 | ||
|
|
34331f558f | ||
|
|
52a7ed77ba | ||
|
|
589b7310c1 | ||
|
|
326d22565d | ||
|
|
2f206bf6bc | ||
|
|
d8444cb5d0 | ||
|
|
ab18fc6478 | ||
|
|
610d42fd8d | ||
|
|
3d3fc33253 | ||
|
|
b772e42ca1 | ||
|
|
9bd30ba09f | ||
|
|
1a4986058d | ||
|
|
73b81ac1f4 | ||
|
|
160895f6e3 | ||
|
|
07dffb948d | ||
|
|
58f0dbe2a4 | ||
|
|
167adc652b | ||
|
|
659551e439 | ||
|
|
263448bfb2 | ||
|
|
d864a8d8eb | ||
|
|
be02ef563c | ||
|
|
c5f4655b9e | ||
|
|
89cbf3a55a | ||
|
|
dfcebcf9e2 | ||
|
|
50616cc267 | ||
|
|
b821978a36 | ||
|
|
d703746875 | ||
|
|
03b37b85e5 | ||
|
|
f8e1063541 | ||
|
|
605a45c8ba | ||
|
|
2aab8bbae8 | ||
|
|
f50cd2892a | ||
|
|
b520cf0f78 | ||
|
|
afab21372b | ||
|
|
fdab386178 | ||
|
|
993b91ac15 | ||
|
|
b9e22f59a1 | ||
|
|
ea955635ac | ||
|
|
90678d411f | ||
|
|
43a40c3b9a | ||
|
|
4a6e669a53 | ||
|
|
362b942a22 | ||
|
|
392984f276 | ||
|
|
05697374c5 | ||
|
|
247b77c784 | ||
|
|
ac7064963d | ||
|
|
0877b7858e | ||
|
|
43a065bdc4 | ||
|
|
dc6a3ba907 | ||
|
|
79eafbe71a | ||
|
|
4cd7a7a695 | ||
|
|
c1c3e4af5b | ||
|
|
50b10ba0bf | ||
|
|
994576375e | ||
|
|
4def7f2a18 | ||
|
|
42ebe60f0b | ||
|
|
a4c98e74ce | ||
|
|
2321f38550 | ||
|
|
f4d5960953 | ||
|
|
b0fdddfcf4 | ||
|
|
62cab0750b | ||
|
|
f5d8ebf2ca | ||
|
|
b6d054bb1c | ||
|
|
71cfc83c1d | ||
|
|
10f3d2049a | ||
|
|
67a3f33aa7 | ||
|
|
a25f55ba68 | ||
|
|
140522c196 | ||
|
|
2aadcc2300 | ||
|
|
5132335500 | ||
|
|
7cd3bc0c26 | ||
|
|
0d7af044e9 | ||
|
|
e87c1b6024 | ||
|
|
80adba61d4 | ||
|
|
4dded3d09c | ||
|
|
12bcc88839 | ||
|
|
5e2527fc14 | ||
|
|
f7860fc895 | ||
|
|
d155967149 | ||
|
|
c34181ef3e | ||
|
|
d31701e906 | ||
|
|
0291888c01 | ||
|
|
a4dbe6f096 | ||
|
|
4b98cac6da | ||
|
|
bcd3f6ef3d | ||
|
|
5df54371b5 | ||
|
|
d9cc70e72b | ||
|
|
c0ea6ce346 | ||
|
|
c8b89620f5 | ||
|
|
f813b8a74b | ||
|
|
4b9b9e2e13 | ||
|
|
0228941fdb | ||
|
|
088e282764 | ||
|
|
0721b80555 | ||
|
|
832163c1b7 | ||
|
|
b0a8787eaf | ||
|
|
82a0ac28ad | ||
|
|
dbdf28d0a0 | ||
|
|
75ff3c3d28 | ||
|
|
4cc9f1f3b4 | ||
|
|
5b7a17e044 | ||
|
|
26723fb820 | ||
|
|
02e54dd8ba | ||
|
|
27cf45e1a9 | ||
|
|
cd986d6f5d | ||
|
|
90b06db479 | ||
|
|
9fe714189d | ||
|
|
faad13d07e | ||
|
|
81850b78c7 | ||
|
|
e320be9626 | ||
|
|
fa708ada3b | ||
|
|
92f15a9ad3 | ||
|
|
49f6431fca | ||
|
|
5369e08a6e | ||
|
|
1753db3e62 | ||
|
|
207981b8c4 | ||
|
|
b35c99cb0c | ||
|
|
12523f4c0c | ||
|
|
1222f914ed | ||
|
|
95c050081c | ||
|
|
0ca83501e8 | ||
|
|
b669bc2b9c | ||
|
|
bf4acc4e52 | ||
|
|
505e5a69a6 | ||
|
|
cb0c99acc8 | ||
|
|
fc716af002 | ||
|
|
647759f0d1 | ||
|
|
8da39356dc | ||
|
|
034657dd2c | ||
|
|
01d448c1bd | ||
|
|
d9657e96e3 | ||
|
|
d806d079a2 | ||
|
|
356b48bcca | ||
|
|
12f604623e | ||
|
|
41cd427834 | ||
|
|
1fee0822fb | ||
|
|
640f9d7389 | ||
|
|
66e2fce8d5 | ||
|
|
cd36d367ed | ||
|
|
2aa35af909 | ||
|
|
5c474aee27 | ||
|
|
d98a6d3f82 | ||
|
|
609cacf8b5 | ||
|
|
352b0f2079 | ||
|
|
7ce76a763e | ||
|
|
db8922f53e | ||
|
|
171a3b18fa | ||
|
|
a20dd065fb | ||
|
|
1904a4f48a | ||
|
|
562c5621f5 | ||
|
|
5f46541f0b | ||
|
|
f8d95bba71 | ||
|
|
267f619175 | ||
|
|
1f28808823 | ||
|
|
99b15719cf | ||
|
|
616d08255c | ||
|
|
98fe307cbf | ||
|
|
b61cc150db | ||
|
|
8909943bd3 | ||
|
|
8ea47c1811 | ||
|
|
709ca5f316 | ||
|
|
78d42476eb | ||
|
|
16550f802c | ||
|
|
fe26b2e128 | ||
|
|
d1bfce8e66 | ||
|
|
3f13e7f2c7 | ||
|
|
781d00cc87 | ||
|
|
5eb49c9d68 | ||
|
|
c4dac76d28 | ||
|
|
db34755ba3 | ||
|
|
1b2b99872a | ||
|
|
2759404a69 | ||
|
|
16ab51ae87 | ||
|
|
8814413e83 | ||
|
|
87bb221cc3 | ||
|
|
7ca5737bc0 | ||
|
|
bd8bb426be | ||
|
|
da293755ef | ||
|
|
e015a8299e | ||
|
|
cd696ade4e | ||
|
|
991c6ddd99 | ||
|
|
15eef5f7b9 | ||
|
|
1e37e38124 | ||
|
|
a89185565a | ||
|
|
7ec2c833f2 | ||
|
|
f123755fc6 | ||
|
|
af6dee2e99 | ||
|
|
4bd97d2947 | ||
|
|
5c199e63ea | ||
|
|
deef74ebc7 | ||
|
|
f6af535f8f | ||
|
|
52ca82c959 | ||
|
|
d64892584d | ||
|
|
8fc38d9ac2 | ||
|
|
331c13ed78 | ||
|
|
12c20faa44 | ||
|
|
cbde6e1ee9 | ||
|
|
701b8c87e6 | ||
|
|
13b795d614 | ||
|
|
5957382a67 | ||
|
|
6af6ffa1b2 | ||
|
|
1e5b2d7c66 | ||
|
|
af4b3ba023 | ||
|
|
c73b5a6da4 | ||
|
|
850c6c67d0 | ||
|
|
d001ec346d | ||
|
|
e47d8c0e03 | ||
|
|
caba965b80 | ||
|
|
7db7b177c0 | ||
|
|
757cff8feb | ||
|
|
f0a8356ff0 | ||
|
|
ebc4f3cb35 | ||
|
|
c84ee7f1b7 | ||
|
|
963000386f | ||
|
|
e38b7cd465 | ||
|
|
d432727acb | ||
|
|
d089d4e692 | ||
|
|
7a9dfb50e1 | ||
|
|
8e78cfed85 | ||
|
|
fd91893b51 | ||
|
|
84f704448a | ||
|
|
a058b6e3a6 | ||
|
|
3502c7f1c9 | ||
|
|
021c8896c8 | ||
|
|
893cd9e877 | ||
|
|
53def26475 | ||
|
|
38c2915533 | ||
|
|
044e9221e8 | ||
|
|
7c34872a48 | ||
|
|
0fa6b5bc90 | ||
|
|
be2a0abbc8 | ||
|
|
fccae52654 | ||
|
|
8e0bab5adc | ||
|
|
16bea47979 | ||
|
|
b20245c8c8 | ||
|
|
5ffc5dd218 | ||
|
|
b93e5ba32a | ||
|
|
16429b3008 | ||
|
|
b05542adc0 | ||
|
|
bf247455ee | ||
|
|
6da62f902b | ||
|
|
3bb53b6ed1 | ||
|
|
dbe4a5b7c7 | ||
|
|
a428534345 | ||
|
|
19cacd0efb | ||
|
|
a5cbbba12d | ||
|
|
23a598ba3d | ||
|
|
8b2c351933 | ||
|
|
445cd680c7 | ||
|
|
7f54bd0bfc | ||
|
|
3ed1f8d242 | ||
|
|
e2bac118c5 | ||
|
|
a98e3b4a44 | ||
|
|
fadd531fbb | ||
|
|
0a96f633d5 | ||
|
|
1859b83e8d | ||
|
|
6aca90c478 | ||
|
|
520260f207 | ||
|
|
4ddb371484 | ||
|
|
1c0548d1e8 | ||
|
|
4ef5596fbc | ||
|
|
e336030b5e | ||
|
|
3915576673 | ||
|
|
855d44b9d8 | ||
|
|
cd2615d8d0 | ||
|
|
307e529ccf | ||
|
|
958e47cc19 | ||
|
|
86ba50adda | ||
|
|
ea8f01bd74 | ||
|
|
91d516f18c | ||
|
|
2c4ec3d9f3 | ||
|
|
3fc7cc3453 | ||
|
|
15d6a1aacf | ||
|
|
66a8aa86e1 | ||
|
|
41c8df029a | ||
|
|
916068447a | ||
|
|
7f353d9b1a | ||
|
|
a06a989f97 | ||
|
|
2c5c25962c | ||
|
|
3570a1cf91 | ||
|
|
329285a8a6 | ||
|
|
ab59ef8498 | ||
|
|
1c13556b8d | ||
|
|
46ad43bb1e | ||
|
|
a510bb54ec | ||
|
|
e3e49dbeb8 | ||
|
|
ed4e572483 | ||
|
|
41b330c5ea | ||
|
|
533a955dda | ||
|
|
c42b142884 | ||
|
|
1dfb8cbde2 | ||
|
|
bdc8b3585d | ||
|
|
92c720ddc3 | ||
|
|
1d42144c95 | ||
|
|
f6e3687e9c | ||
|
|
0e66288a69 | ||
|
|
263113ee5a | ||
|
|
52dbaf8390 | ||
|
|
51459c5d54 | ||
|
|
41b6f830aa | ||
|
|
6e2dea7030 | ||
|
|
7c53105532 | ||
|
|
ecff1d15af | ||
|
|
895facbcdd | ||
|
|
c2a5ab0c5a | ||
|
|
fb024e2256 | ||
|
|
7444a9ad67 | ||
|
|
bf8a98a13b | ||
|
|
cb025b3aa8 | ||
|
|
3d073eddd6 | ||
|
|
8c5493ba44 | ||
|
|
8963bff56c | ||
|
|
6188aea7ed | ||
|
|
d26a8cbdcc | ||
|
|
1167860f3e | ||
|
|
107a1e7e5d | ||
|
|
fd7f618fd2 | ||
|
|
9e6243bedf | ||
|
|
f02fc4dd96 | ||
|
|
4b83c34f0d | ||
|
|
0b2401132e | ||
|
|
b28e9a6167 | ||
|
|
90a3a80bf6 | ||
|
|
316c30d375 | ||
|
|
fe52b6075d | ||
|
|
9d703f9519 | ||
|
|
3e5f51f45a | ||
|
|
463450e607 | ||
|
|
5a47d8e29b | ||
|
|
45143c40c9 | ||
|
|
5300962ef3 | ||
|
|
5f5109f1c4 | ||
|
|
5f440a0cbe | ||
|
|
58e185012c | ||
|
|
be9915cef8 | ||
|
|
19d1f0fe8c | ||
|
|
dff5765f9f | ||
|
|
21f462a77e | ||
|
|
b4bc515079 | ||
|
|
af248a6714 | ||
|
|
724ba9e429 | ||
|
|
9acf437534 | ||
|
|
1361eb3fba | ||
|
|
d48826751e | ||
|
|
301d84a831 | ||
|
|
fe6e3c5252 | ||
|
|
0854dba76a | ||
|
|
745f89dbb9 | ||
|
|
55f0432377 | ||
|
|
55619e4eb5 | ||
|
|
77e5925cf0 | ||
|
|
390a1b0754 | ||
|
|
487406ac46 | ||
|
|
1e64a56986 | ||
|
|
d5ed93edd5 | ||
|
|
d2922a4173 | ||
|
|
8518f01bc0 | ||
|
|
bd41ce024a | ||
|
|
53a56bbc2a | ||
|
|
0130d0cd63 | ||
|
|
9c5e2bbb00 | ||
|
|
2834ce0344 | ||
|
|
e6bc92f46d | ||
|
|
4aa1f1334c | ||
|
|
d20c370ccc | ||
|
|
f93e51a934 | ||
|
|
705358993d | ||
|
|
3f37416e50 | ||
|
|
a133115aa6 | ||
|
|
acec941f02 | ||
|
|
522945bbe3 | ||
|
|
6838465de2 | ||
|
|
ef6bdb7899 | ||
|
|
ed3281d0f5 | ||
|
|
7d272919aa | ||
|
|
5caceefc2c | ||
|
|
10bd2b680d | ||
|
|
3e3cd5878e | ||
|
|
ec40b5a9d9 | ||
|
|
18d8666312 | ||
|
|
0501633c75 | ||
|
|
b4d69b847a | ||
|
|
7edb835efc | ||
|
|
6859109503 | ||
|
|
4fe70c3a12 | ||
|
|
c138f32b4f | ||
|
|
d14ef3dc5f | ||
|
|
edd26b3224 | ||
|
|
e0160f7d4c | ||
|
|
45bd2dc5fa | ||
|
|
19f9b56d2c | ||
|
|
b61c0941ef | ||
|
|
3b6d0ef7c0 | ||
|
|
bb70a76b9c | ||
|
|
d6070c37d1 | ||
|
|
fdead263d6 | ||
|
|
d80850a439 | ||
|
|
acc7e08a54 | ||
|
|
246e39adb1 | ||
|
|
971ec71836 | ||
|
|
4e0a1fad82 | ||
|
|
291f483671 | ||
|
|
68a9a0a12e | ||
|
|
957b739025 | ||
|
|
c4a7d48d96 | ||
|
|
846026051c | ||
|
|
a033e31743 | ||
|
|
5a3fea05ac | ||
|
|
b07cd1264c | ||
|
|
af014b3c14 | ||
|
|
9cbdc6e95e | ||
|
|
e8c675d3b2 | ||
|
|
7790d5d597 | ||
|
|
4cbbed6445 | ||
|
|
bf6904c1c8 | ||
|
|
576239166d | ||
|
|
e0d6a68554 | ||
|
|
03bbb2269d | ||
|
|
00367ec07a | ||
|
|
2b58e4d3a8 | ||
|
|
418e06052c | ||
|
|
460e2ec0ac | ||
|
|
dd1d04e9b0 | ||
|
|
fe59c815b2 | ||
|
|
1fe562ec13 | ||
|
|
5f12c6d85b | ||
|
|
a09a52d95c | ||
|
|
d960ac2828 | ||
|
|
fe5e085fb8 | ||
|
|
7d792b1ec5 | ||
|
|
7bba52fb7e | ||
|
|
8f00650f0e | ||
|
|
1045d628d6 | ||
|
|
48ffebe266 | ||
|
|
5ccd5f4385 | ||
|
|
90b2b240ce | ||
|
|
3003d24cbd | ||
|
|
1f7e6af2c5 | ||
|
|
0110a62776 | ||
|
|
c3c82eac2d | ||
|
|
0894931fa1 | ||
|
|
ff839bd978 | ||
|
|
18caf2e2f6 | ||
|
|
e1f55822b7 | ||
|
|
fa0c700ca6 | ||
|
|
8e89486fbc | ||
|
|
35d5089f48 | ||
|
|
9af094e278 | ||
|
|
73a5a2a28f | ||
|
|
efbf95ae80 | ||
|
|
04f8d4dd37 | ||
|
|
cbed4bc36d | ||
|
|
35c05cdba7 | ||
|
|
ecce77ec4c | ||
|
|
a56ece4efe | ||
|
|
a37bbcfaca | ||
|
|
db387d50b8 | ||
|
|
1bc834bd5e | ||
|
|
a728dcfca8 | ||
|
|
ba7cb1abbc | ||
|
|
730dce2cdc | ||
|
|
1947d8e5be | ||
|
|
80b0667ff9 | ||
|
|
259a996276 | ||
|
|
3be34a4bb7 | ||
|
|
1e72c8a89b | ||
|
|
13310206fa | ||
|
|
e5ec3b6199 | ||
|
|
8f87736523 | ||
|
|
24cc72e319 | ||
|
|
3e2485678d | ||
|
|
e3bb506795 | ||
|
|
1875ee59ee | ||
|
|
f760846c82 | ||
|
|
a2fc7f6915 | ||
|
|
35785efa50 | ||
|
|
c5111c9a51 | ||
|
|
3c98fd44d0 | ||
|
|
bf37c73d66 | ||
|
|
cf9a78a164 | ||
|
|
6bac9029fa | ||
|
|
f7dc832dfe | ||
|
|
1ef944ed7b | ||
|
|
0e0956451a | ||
|
|
fa4137418a | ||
|
|
174302a907 | ||
|
|
2826bb9134 | ||
|
|
73a27c2def | ||
|
|
1f6da4c734 | ||
|
|
f96b7da7ce | ||
|
|
9cb1511b63 | ||
|
|
f1c69a495b | ||
|
|
e6689a6ec0 | ||
|
|
829513c9ce | ||
|
|
f1dfcef868 | ||
|
|
a23470f4b8 | ||
|
|
40fddc9697 | ||
|
|
fed715c1f4 | ||
|
|
8f06244895 | ||
|
|
c7673096c9 | ||
|
|
88282d8364 | ||
|
|
8cde13fb8c | ||
|
|
b981472877 | ||
|
|
3210aecbd2 | ||
|
|
d4c9097610 | ||
|
|
00bada8d45 | ||
|
|
18db57ba96 | ||
|
|
cd49565457 | ||
|
|
80365c9207 | ||
|
|
532e7e7e81 | ||
|
|
7f6cf32cdd | ||
|
|
2c6f74f923 | ||
|
|
daa5016c23 | ||
|
|
7d80cdc3cd | ||
|
|
9378c05ef1 | ||
|
|
ebf9d3285b | ||
|
|
96e1f8e7cd | ||
|
|
1b5905dc54 | ||
|
|
42ded6ade9 | ||
|
|
b32c6566ff | ||
|
|
29c6b8e2d2 | ||
|
|
40ab82e4bd | ||
|
|
a69a5c7252 | ||
|
|
4bb906b9f8 | ||
|
|
36f34472ba | ||
|
|
3132e4dc17 | ||
|
|
844e375fac | ||
|
|
559a74847b | ||
|
|
54032d96b7 | ||
|
|
ccedd6379b | ||
|
|
cbebf9ced7 | ||
|
|
9c7ac50ba6 | ||
|
|
599ede9a0b | ||
|
|
f227740e93 | ||
|
|
a299c1f9e8 | ||
|
|
0b6dea311b | ||
|
|
3e79d7477e | ||
|
|
55e8612f27 | ||
|
|
2876916258 | ||
|
|
cd25799884 | ||
|
|
b86d8638bc | ||
|
|
6710ef3e2f | ||
|
|
978e86a8ba | ||
|
|
605f5305e4 | ||
|
|
a267d9d43b | ||
|
|
0ed64e7b51 | ||
|
|
c117f25711 | ||
|
|
ef69973e6d | ||
|
|
1f423a6da2 | ||
|
|
7c99f947eb | ||
|
|
ad53185645 | ||
|
|
ddd63d73b7 | ||
|
|
d9ef8217e5 | ||
|
|
26e2918841 | ||
|
|
68ed885568 | ||
|
|
034adfab2b | ||
|
|
4a5b63bbcd | ||
|
|
2ead44d9c0 | ||
|
|
02ca81ac64 | ||
|
|
82e4660ae9 | ||
|
|
e45de88bd6 | ||
|
|
ee946025d6 | ||
|
|
593c2b2646 | ||
|
|
5c9836418f | ||
|
|
f662067a68 | ||
|
|
fd7a30f143 | ||
|
|
91f87057bc | ||
|
|
1919501d1e | ||
|
|
84e67b8ec0 | ||
|
|
a2f5acdff1 | ||
|
|
27856d830b | ||
|
|
c15db1f77e | ||
|
|
0b2bcbc3e9 | ||
|
|
2cbda4e1e5 | ||
|
|
2ef8c44445 | ||
|
|
2ef06a0baa | ||
|
|
8cc7e86793 | ||
|
|
9d00ec273b | ||
|
|
7ca9afbd80 | ||
|
|
40257e3687 | ||
|
|
baf1e31b76 | ||
|
|
6e441312cb | ||
|
|
729a024ddf | ||
|
|
580306d090 | ||
|
|
47c7f76f2c | ||
|
|
62ceead444 | ||
|
|
ddc802c0af | ||
|
|
b9616bdf75 | ||
|
|
c8f2f6bc2b | ||
|
|
c2f1e95f3f | ||
|
|
d58e63c82f | ||
|
|
295b63bc0d | ||
|
|
b3f11e7dff | ||
|
|
d31c8b3602 | ||
|
|
bc172cf70c | ||
|
|
c6437ce893 | ||
|
|
98b0ebcce6 | ||
|
|
1828b14cda | ||
|
|
281f762869 | ||
|
|
c4a04a620f | ||
|
|
9e1a6d3d3d | ||
|
|
3226c93f88 | ||
|
|
54af494224 | ||
|
|
f13c61fbaf | ||
|
|
9d07456a29 | ||
|
|
3a8824a9a6 | ||
|
|
ebe6db3c48 | ||
|
|
680ea9f616 | ||
|
|
3e37be5d5c | ||
|
|
b19467bb07 | ||
|
|
54c4ac7cd8 | ||
|
|
6220b88ae9 | ||
|
|
eb728fb36e | ||
|
|
91a2d6b02e | ||
|
|
f25e63bad7 | ||
|
|
b38163b026 | ||
|
|
cab19a141f | ||
|
|
2a9f24d774 | ||
|
|
6706b3882d | ||
|
|
0e8e098932 | ||
|
|
0249d3fe61 | ||
|
|
86a4a388c3 | ||
|
|
621052645c | ||
|
|
b09aa49749 | ||
|
|
6792f9c77b | ||
|
|
050b856b25 | ||
|
|
4c13377d1e | ||
|
|
bf5a5fd529 | ||
|
|
5aa5a62b74 | ||
|
|
d3f3f5e095 | ||
|
|
17aaa5ceab | ||
|
|
f775d27371 | ||
|
|
abc0d03eb3 | ||
|
|
588de7966f | ||
|
|
c289c6c6eb | ||
|
|
9ad9d5a12f | ||
|
|
0913833f6c | ||
|
|
02b0512761 | ||
|
|
5cab9569c3 | ||
|
|
c36fc92041 | ||
|
|
b402d832f6 | ||
|
|
98e2700764 | ||
|
|
efa5fc443a | ||
|
|
420e82d421 | ||
|
|
1c722a425d | ||
|
|
2bfb1e0f1f | ||
|
|
cb78bd1a10 | ||
|
|
14a1f7140f | ||
|
|
7609607799 | ||
|
|
0072573925 | ||
|
|
d1353b7e73 | ||
|
|
45fbd7cb24 | ||
|
|
7c62de51ff | ||
|
|
877ff6fc49 | ||
|
|
d5132a899e | ||
|
|
b277f5cdb7 | ||
|
|
cde264e5a1 | ||
|
|
ebfeeb6872 | ||
|
|
32322c4450 | ||
|
|
616354b8e9 | ||
|
|
99b52d4cc1 | ||
|
|
08072346fd | ||
|
|
fcd713b8a6 | ||
|
|
0e49c13968 | ||
|
|
5b345cbc2d | ||
|
|
b678913da5 | ||
|
|
798f800913 | ||
|
|
7338c3e21e | ||
|
|
26ffbbc34f | ||
|
|
bb518043bc | ||
|
|
bfa8075acf | ||
|
|
d80f44d3fc | ||
|
|
a88b676588 | ||
|
|
06d675d39f | ||
|
|
20881c5297 | ||
|
|
175968c3c0 | ||
|
|
a385c63799 | ||
|
|
9eee689a76 | ||
|
|
abaf74a886 | ||
|
|
bd26a352fd | ||
|
|
12f3bb2082 | ||
|
|
77481b7339 | ||
|
|
9d9b4b83a1 | ||
|
|
f696263460 | ||
|
|
ade6b5aae0 | ||
|
|
afeab54f4d | ||
|
|
6fae60b6bb | ||
|
|
027c6fb9c0 | ||
|
|
1bd986d2cb | ||
|
|
39981835ce | ||
|
|
16255f1591 | ||
|
|
610b0d3537 | ||
|
|
08153c944d | ||
|
|
37309a91ac | ||
|
|
2b6e30bcb5 | ||
|
|
1313cd1a33 | ||
|
|
fe71cb962e | ||
|
|
3f1a3d8707 | ||
|
|
0a9ec55b43 | ||
|
|
4ec579112c | ||
|
|
9c8ae7f32b | ||
|
|
0ffc2ce141 | ||
|
|
aebe15acda | ||
|
|
3097fb058c | ||
|
|
46e562c86e | ||
|
|
2a0a3b5cbb | ||
|
|
4dcd9ddc45 | ||
|
|
9b141c4b19 | ||
|
|
a7b9fd2f2b | ||
|
|
438404e399 | ||
|
|
7de5e24df5 | ||
|
|
841daa2a6e | ||
|
|
3546fe421c | ||
|
|
0315568b80 | ||
|
|
6405876656 | ||
|
|
978c7c858b | ||
|
|
4716c25875 | ||
|
|
90d104cf61 | ||
|
|
533452acf7 | ||
|
|
23a8090a73 | ||
|
|
fc9d75b4f0 | ||
|
|
fb0f2971c0 | ||
|
|
9fec887044 | ||
|
|
29fefbc4bb | ||
|
|
3a919628b3 | ||
|
|
6d42350691 | ||
|
|
c3845ead85 | ||
|
|
803d1a429d | ||
|
|
57b771c879 | ||
|
|
7433cea0fd | ||
|
|
6a299e32d3 | ||
|
|
80455492b0 | ||
|
|
a597ded99b | ||
|
|
74576c340e | ||
|
|
d178b84baf | ||
|
|
a5b466ec05 | ||
|
|
71e544e0fc | ||
|
|
ebd77ba71d | ||
|
|
4081af12dd | ||
|
|
bb30b71b86 | ||
|
|
517358c8e9 | ||
|
|
01c26cedb1 | ||
|
|
bbc804bd56 | ||
|
|
0154be5138 | ||
|
|
f83644cec0 | ||
|
|
3281b81565 | ||
|
|
e492b1e93d | ||
|
|
f5dd8f8112 | ||
|
|
759e062bcc | ||
|
|
a439fc32da | ||
|
|
2e60f23733 | ||
|
|
3579276b49 | ||
|
|
189d0e8de3 | ||
|
|
f2c45df524 | ||
|
|
ffa588bf5d | ||
|
|
19d395a946 | ||
|
|
7b855a661a | ||
|
|
001f2e1fe7 | ||
|
|
839078d32f | ||
|
|
3336b26eea | ||
|
|
d6f549fef6 | ||
|
|
80ba0259dd | ||
|
|
5320285943 | ||
|
|
0b8523d58e | ||
|
|
b3da86bf08 | ||
|
|
520d82b0ff | ||
|
|
47ead03925 | ||
|
|
0ede06700a | ||
|
|
0b4ddb045e | ||
|
|
980b50f8cf | ||
|
|
dd0c79ee56 | ||
|
|
db9f47c6f2 | ||
|
|
c240295a74 | ||
|
|
2b8ef0e9b2 | ||
|
|
759ede3c57 | ||
|
|
6e8fc37ca9 | ||
|
|
3e30a11af8 | ||
|
|
cec7ebc24f | ||
|
|
f3a4b54601 | ||
|
|
91e1330b59 | ||
|
|
952f24e4e1 | ||
|
|
d9b09e78ad | ||
|
|
fd0a119885 | ||
|
|
837432a4f3 | ||
|
|
ab00a0310a | ||
|
|
b536c075ed | ||
|
|
9d2b83c4d5 | ||
|
|
02961ecc99 | ||
|
|
f7f041f11d | ||
|
|
3e1362628f | ||
|
|
5940ae6411 | ||
|
|
44c12064a6 | ||
|
|
9f7b92eccd | ||
|
|
fa2767cc65 | ||
|
|
b1f267e4dc | ||
|
|
daa0adfff9 | ||
|
|
56fa8a0ee2 | ||
|
|
a0d171bb49 | ||
|
|
dd26de7dd2 | ||
|
|
fb4ee55ffa | ||
|
|
17a319fdb3 | ||
|
|
4fc0b439ae | ||
|
|
74248b0284 | ||
|
|
b0681bc582 | ||
|
|
d28483fad4 | ||
|
|
12716a8c40 | ||
|
|
52c29bac5d | ||
|
|
340246367d | ||
|
|
8eef239b45 | ||
|
|
62c28cb58b | ||
|
|
07c81db79a | ||
|
|
a677f784f5 | ||
|
|
c8d7d23ee6 | ||
|
|
0f4405dbaf | ||
|
|
d672353ff9 | ||
|
|
5f84567bbb | ||
|
|
d2f3fbe3f7 | ||
|
|
58777dbc21 | ||
|
|
f3e560541b | ||
|
|
f6eae71397 | ||
|
|
a6861c3e94 | ||
|
|
fc02f96ef1 | ||
|
|
71f588a4fe | ||
|
|
810c60fd8c | ||
|
|
5531f49c3e | ||
|
|
325e45eafd | ||
|
|
b13579c7d9 | ||
|
|
a72a31e722 | ||
|
|
f66c54ee6b | ||
|
|
f979067dda | ||
|
|
e1d932aaeb | ||
|
|
a39810a9c5 | ||
|
|
3078544892 | ||
|
|
709c18e6fc | ||
|
|
931c249afe | ||
|
|
47dee02de4 | ||
|
|
afb40b8289 | ||
|
|
f2824f79f6 | ||
|
|
2c7fb82708 | ||
|
|
f4d159b2f0 | ||
|
|
f2fb32cd8d | ||
|
|
b82adc7610 | ||
|
|
433243fcca | ||
|
|
f8379b140b | ||
|
|
b016b859da | ||
|
|
b201a5a975 | ||
|
|
839ce20b88 | ||
|
|
c146843ab4 | ||
|
|
827055f32a | ||
|
|
064f5c70e7 | ||
|
|
23de47d307 | ||
|
|
a1646a8f9e | ||
|
|
e840d2bb17 | ||
|
|
6cf2987536 | ||
|
|
85bb526294 | ||
|
|
3c21469fe8 | ||
|
|
71d2651163 | ||
|
|
5a87bf4114 | ||
|
|
12ff88478c | ||
|
|
20b93d969f | ||
|
|
63037d6f1a | ||
|
|
18de2f724c | ||
|
|
2f130ff223 | ||
|
|
6fe380ff9f | ||
|
|
d8b1df875e | ||
|
|
4426e2dd78 | ||
|
|
e43ea5101e | ||
|
|
6236ef717e | ||
|
|
8116334557 | ||
|
|
e88e74ed94 | ||
|
|
67d77bd114 | ||
|
|
cb2df51af6 | ||
|
|
85f46cef8c | ||
|
|
ff481c810f | ||
|
|
259ca7c6cc | ||
|
|
7d752e3dda | ||
|
|
30452289e5 | ||
|
|
2b4e58b1b9 | ||
|
|
87becf552b | ||
|
|
d876861431 | ||
|
|
82fb3f590f | ||
|
|
9d22ec4900 | ||
|
|
58da5c5c3b | ||
|
|
35d4754380 | ||
|
|
945d9b1883 | ||
|
|
5830e0f657 | ||
|
|
14839e7afe | ||
|
|
e58c8a6fcb | ||
|
|
fa9850c319 | ||
|
|
78866622b9 | ||
|
|
cbb0219812 | ||
|
|
24c3ede889 | ||
|
|
96a698a4dc | ||
|
|
e46cc80d52 | ||
|
|
d72a3c4189 | ||
|
|
38ea16fea4 | ||
|
|
cdcd9d8d54 | ||
|
|
820339d390 | ||
|
|
77228d358d | ||
|
|
43e173567f | ||
|
|
9a3489694e | ||
|
|
2e853f9338 | ||
|
|
d966eebb7c | ||
|
|
fb7a48ec19 | ||
|
|
4c13b5dbee | ||
|
|
4f6c8f8008 | ||
|
|
b33323b62d | ||
|
|
760d706e5e | ||
|
|
4b99eb9c8d | ||
|
|
b23cd9fc11 | ||
|
|
7d8973d45a | ||
|
|
3aa2e592e0 | ||
|
|
0b8a05e435 | ||
|
|
7ba845ac74 | ||
|
|
9a1798f043 | ||
|
|
dcbdd0b0a5 | ||
|
|
0ed5131b65 | ||
|
|
1b79401edc | ||
|
|
4a4fb00ec0 | ||
|
|
9d28303459 | ||
|
|
972e78ae7a | ||
|
|
ed2bbc8236 | ||
|
|
a5622cfe3b | ||
|
|
300164e61c | ||
|
|
edb2a9d5f6 | ||
|
|
89228720cd | ||
|
|
afed48dd4a | ||
|
|
04b5044a6f | ||
|
|
9bf34731f4 | ||
|
|
f0a08a8713 | ||
|
|
eeb8c1297f | ||
|
|
e42eeb26fb | ||
|
|
3555710d67 | ||
|
|
1b1f9c5855 | ||
|
|
32ed45e399 | ||
|
|
61b7da069e | ||
|
|
591a0aaa16 | ||
|
|
890d4a816f | ||
|
|
4ed2d75c74 | ||
|
|
a6e82cf954 | ||
|
|
7c7d517b34 | ||
|
|
b94533fcb2 | ||
|
|
6170144fe9 | ||
|
|
9a72293e0a | ||
|
|
dc72800a5e | ||
|
|
73a4d3510d | ||
|
|
41f5a87c80 | ||
|
|
af9908f076 | ||
|
|
b9bed419aa | ||
|
|
5108685123 | ||
|
|
d3896ff53b | ||
|
|
62723f7576 | ||
|
|
0fd6f04aa9 | ||
|
|
cc004d435b | ||
|
|
7d8c45ec92 | ||
|
|
216b9ec52f | ||
|
|
cd700b16c6 | ||
|
|
f3065eb654 | ||
|
|
11da39b72d | ||
|
|
4ee52afc4d | ||
|
|
840ffa6482 | ||
|
|
1416e4e277 | ||
|
|
1545e7f796 | ||
|
|
ae78d13284 | ||
|
|
fdb93f700d | ||
|
|
322eef660e | ||
|
|
29a7c66e45 | ||
|
|
f88dd15647 | ||
|
|
79d65c1828 | ||
|
|
2aa44a2135 | ||
|
|
7f6f92ac85 | ||
|
|
5e0e0d2391 | ||
|
|
a66c051eb5 | ||
|
|
6100c1dcca | ||
|
|
76ca0acfd0 | ||
|
|
42d9537ad1 | ||
|
|
f6fec9a619 | ||
|
|
6ec61d4ad6 | ||
|
|
2225abec5c | ||
|
|
603fb63c91 | ||
|
|
92c31324b0 | ||
|
|
3e3e3cf5a9 | ||
|
|
9246597893 | ||
|
|
22aef5290f | ||
|
|
d858e96352 | ||
|
|
6d74140e39 | ||
|
|
c0e7019d4f | ||
|
|
ef285144ea | ||
|
|
009b326531 | ||
|
|
200073b826 | ||
|
|
8f35281e0a | ||
|
|
d6893d09dc | ||
|
|
978554ce28 | ||
|
|
6b39296677 | ||
|
|
dda1ad987d | ||
|
|
f8e006001b | ||
|
|
2eaa0148d0 | ||
|
|
fd2d3b6cc4 | ||
|
|
006ca44aa5 | ||
|
|
d80b378ae2 | ||
|
|
77eab809da | ||
|
|
5aa31b6ad6 | ||
|
|
750d45457b | ||
|
|
f1e8b0913d | ||
|
|
6bad3b4d7e | ||
|
|
0b96dd5362 | ||
|
|
f25fde09b7 | ||
|
|
a923829ba1 | ||
|
|
6222876ac4 | ||
|
|
e312adb786 | ||
|
|
6b565acbd6 | ||
|
|
e2da90e844 | ||
|
|
4b88aced20 | ||
|
|
b17c277a62 | ||
|
|
edf850be55 | ||
|
|
485a6b551f | ||
|
|
128cbefe0c | ||
|
|
db4f66cae7 | ||
|
|
93c29a1422 | ||
|
|
b9e6235018 | ||
|
|
5abb9de26c | ||
|
|
4ad8793ba1 | ||
|
|
460da06698 | ||
|
|
c8c13219ed | ||
|
|
8552b8421b | ||
|
|
2ed9d68b46 | ||
|
|
44f62fa9ba | ||
|
|
7f47fba37d | ||
|
|
b43f582386 | ||
|
|
f02a659fca | ||
|
|
fede9f9629 | ||
|
|
de8ffc78d7 | ||
|
|
5502f2503f | ||
|
|
ec5ea2afc1 | ||
|
|
ee7ffd6482 | ||
|
|
a6cf42d3ad | ||
|
|
4d7f6a4e3b | ||
|
|
2d53ab88a0 | ||
|
|
ed3601f883 | ||
|
|
d56e8ec9ea | ||
|
|
2c95fa5e15 | ||
|
|
600e97b053 | ||
|
|
ba0825c892 | ||
|
|
57b2efa6a5 | ||
|
|
df20ac3afd | ||
|
|
4487ad9e15 | ||
|
|
50222ad87e | ||
|
|
793fcb571c | ||
|
|
bb2cc23d88 | ||
|
|
28645401bd | ||
|
|
15d5f336dd | ||
|
|
87b57a26ad | ||
|
|
c80adfc21d | ||
|
|
cbaf7352c6 | ||
|
|
b69f0db975 | ||
|
|
3cf4c7f2fc | ||
|
|
e5c82fad21 | ||
|
|
46df0f32c8 | ||
|
|
d6bcab07ef | ||
|
|
cf643f95fd | ||
|
|
5e1dfb3769 | ||
|
|
21ac83eea5 | ||
|
|
35278c1114 | ||
|
|
a83700f943 | ||
|
|
032ca377cd | ||
|
|
204977d48a | ||
|
|
d145175d28 | ||
|
|
0ef129802b | ||
|
|
e3651be5d8 | ||
|
|
b05e1a8899 | ||
|
|
ecc49f9cd4 | ||
|
|
417024e6d2 | ||
|
|
84a47d3be7 | ||
|
|
583c0e5904 | ||
|
|
1fa4fd269e | ||
|
|
37de0904af | ||
|
|
ca34a09f20 | ||
|
|
0ba705bede | ||
|
|
daf85854f1 | ||
|
|
497602f47e | ||
|
|
785aeb7d7d | ||
|
|
1a6b1b698e | ||
|
|
03c5b5a230 | ||
|
|
b54ae9d784 | ||
|
|
fd339e401f | ||
|
|
c7181b8e1e | ||
|
|
b630c451f1 | ||
|
|
ff1b046c17 | ||
|
|
2517317461 | ||
|
|
1d499129ba | ||
|
|
e60052d440 | ||
|
|
bcb80a80fb | ||
|
|
17e9cd0f6d | ||
|
|
bbeac7509f | ||
|
|
3037c611e8 | ||
|
|
4ae5fc4505 | ||
|
|
c52295f881 | ||
|
|
a4e6781bfd | ||
|
|
367d0a8209 | ||
|
|
3004340378 | ||
|
|
16afb72166 | ||
|
|
6feef57b84 | ||
|
|
5110ebb18e | ||
|
|
9a83c26731 | ||
|
|
29befef3ea | ||
|
|
53728e1d13 | ||
|
|
3f8d7944c1 | ||
|
|
ede2065c26 | ||
|
|
6d7c55e7cc | ||
|
|
04b0932780 | ||
|
|
4ed11ebfff | ||
|
|
83a542713a | ||
|
|
7c71d977e2 | ||
|
|
f954e89434 | ||
|
|
9219061da1 | ||
|
|
550ccef09a | ||
|
|
69f6a1ee79 | ||
|
|
a163686eef | ||
|
|
087e2970cd | ||
|
|
59abcc2986 | ||
|
|
1d4057f137 | ||
|
|
89a3d6b505 | ||
|
|
4b8a33de1c | ||
|
|
ba6d56105f | ||
|
|
3edc46320d | ||
|
|
e8398e7db2 | ||
|
|
f566190bf2 | ||
|
|
98cad7151d | ||
|
|
63dbf7e9ef | ||
|
|
81f523cd21 | ||
|
|
e2f83e1662 | ||
|
|
bb416b520a | ||
|
|
ad21781c7c | ||
|
|
8f6be1c6ac | ||
|
|
742134c439 | ||
|
|
31b1ecb11c | ||
|
|
c606d6b459 | ||
|
|
5423abaa19 | ||
|
|
4dc2b5e780 | ||
|
|
4d230eda63 | ||
|
|
4f3f56f247 | ||
|
|
4f562bca09 | ||
|
|
17114350c4 | ||
|
|
f59cd2a882 | ||
|
|
aeafcacb0c | ||
|
|
3df66a7ed3 | ||
|
|
465b9f9a4a | ||
|
|
8e81880489 | ||
|
|
166e99c0bd | ||
|
|
8dd57e2845 | ||
|
|
20d7f74c33 | ||
|
|
ee5f393009 | ||
|
|
2b36f4d23a | ||
|
|
56a58d8f48 | ||
|
|
957e8a06f2 | ||
|
|
ac970f8852 | ||
|
|
2215167dea | ||
|
|
1360cd61a7 | ||
|
|
5d14f3fe4a | ||
|
|
775607c24f | ||
|
|
12a2c5e80e | ||
|
|
938f6edf38 | ||
|
|
97151e6d39 | ||
|
|
1a54daef31 | ||
|
|
a606893194 | ||
|
|
7d666ed225 | ||
|
|
c49e101d73 | ||
|
|
9327473ee8 | ||
|
|
e14464162e | ||
|
|
90776073e7 | ||
|
|
e211268158 | ||
|
|
a9450956c3 | ||
|
|
1f16e50c30 | ||
|
|
5c3d030b9a | ||
|
|
0841a478f6 | ||
|
|
2e9ea061d0 | ||
|
|
48756111a9 | ||
|
|
f87efbbd09 | ||
|
|
f12f21b16b | ||
|
|
1c28d59ed2 | ||
|
|
4857135e42 | ||
|
|
b63be192e6 | ||
|
|
a94acdea53 | ||
|
|
6168f3334d | ||
|
|
17c97a4fee | ||
|
|
0233389143 | ||
|
|
bf6bebb0aa | ||
|
|
c6fd532a40 | ||
|
|
21570c0479 | ||
|
|
12673ab6fe | ||
|
|
4f49f3b023 | ||
|
|
8172b82ed4 | ||
|
|
a4d9d7a617 | ||
|
|
37a2026266 | ||
|
|
3ac6d6d26c | ||
|
|
f33e8328c5 | ||
|
|
f1ac7a5c71 | ||
|
|
156ae31254 | ||
|
|
ed707c8f0e | ||
|
|
2e2455cf81 | ||
|
|
5952d75e6e | ||
|
|
580e6cde3d | ||
|
|
dc6f719d4d | ||
|
|
fe9a1bc947 | ||
|
|
542d9435d8 | ||
|
|
13f6eedcb2 | ||
|
|
8fc9aa6fdb | ||
|
|
001864baab | ||
|
|
1b14a65c6d | ||
|
|
dbc98062ed | ||
|
|
d955b29585 | ||
|
|
cb7b736fb8 | ||
|
|
4104903d45 | ||
|
|
d37a5680df | ||
|
|
015e9356ab | ||
|
|
d16865cb05 | ||
|
|
605b18aa27 | ||
|
|
e3e774176e | ||
|
|
bd4d43daaf | ||
|
|
425e2c2a81 | ||
|
|
b5e1aadef2 | ||
|
|
dd113d5dc0 | ||
|
|
6321d22fc9 | ||
|
|
fe8567e909 | ||
|
|
01374e6dc5 | ||
|
|
58de461c19 | ||
|
|
d90f021e46 | ||
|
|
592e3f7ae2 | ||
|
|
d5e5ef2d26 | ||
|
|
4e67d70e17 | ||
|
|
94fe669c6e | ||
|
|
8d3c146f57 | ||
|
|
297b2f3dcf | ||
|
|
00c9d16925 | ||
|
|
d8b421993d | ||
|
|
5b811500f6 | ||
|
|
5808c4bc02 | ||
|
|
bef993e2fb | ||
|
|
a8e2dbee68 | ||
|
|
37503a2305 | ||
|
|
bafb9711a0 | ||
|
|
51fbec0c50 | ||
|
|
069333b24d | ||
|
|
0c46f0b54f | ||
|
|
4771839fe8 | ||
|
|
0443dcf84a | ||
|
|
75c4586b07 | ||
|
|
8883f84d29 | ||
|
|
e3e7cf088c | ||
|
|
801d8d3689 | ||
|
|
1731cfdc38 | ||
|
|
e629c70f84 | ||
|
|
9154edc217 | ||
|
|
4d3851ab16 | ||
|
|
c6cd679bc1 | ||
|
|
42cb0ebf28 | ||
|
|
107c78b4aa | ||
|
|
d54f299327 | ||
|
|
7a74c5a311 | ||
|
|
b3cb6fc317 | ||
|
|
776688383c | ||
|
|
79b2035b0d | ||
|
|
38e3399b1d | ||
|
|
db05e10f5f | ||
|
|
f0123fffa8 | ||
|
|
72d0271e4d | ||
|
|
f9d3921136 | ||
|
|
ac971dafe7 | ||
|
|
56a63a5b10 | ||
|
|
446dc101ea | ||
|
|
ab7a745a49 | ||
|
|
0c399bfbed | ||
|
|
ec99c9ee60 | ||
|
|
41e7ce11a0 | ||
|
|
ae8ccd03e5 | ||
|
|
03508c1601 | ||
|
|
77a92c62f7 | ||
|
|
eaacc1b7e2 | ||
|
|
c3270d6b66 | ||
|
|
02beb8631e | ||
|
|
fefff78ae0 | ||
|
|
73cade9fd9 | ||
|
|
a9319bf6a3 | ||
|
|
b31c997fac | ||
|
|
ae6bc3852a | ||
|
|
50ffde23d6 | ||
|
|
f431591bef | ||
|
|
e41e68b8b3 | ||
|
|
659c52347c | ||
|
|
2e8b4644bc | ||
|
|
8f0606c9b6 | ||
|
|
1174936fb3 | ||
|
|
dbbf360e32 | ||
|
|
dcf1eb6321 | ||
|
|
825567a44f | ||
|
|
1dfe3a60c4 | ||
|
|
cc1d46b486 | ||
|
|
ee8ddd3714 | ||
|
|
00783d116a | ||
|
|
96e69c091f | ||
|
|
7bc27ba0bf | ||
|
|
a42a76a4ec | ||
|
|
a741e98e7a | ||
|
|
f6740f6c9e | ||
|
|
0a80ef0006 | ||
|
|
ce678bad68 | ||
|
|
7413950e10 | ||
|
|
7a278729e1 | ||
|
|
8ff20d759b | ||
|
|
28e09ab39e | ||
|
|
c45d9e9860 | ||
|
|
ff39a2eacc | ||
|
|
56d110efc2 | ||
|
|
54d5b6dd71 | ||
|
|
2d3cfd33cc | ||
|
|
e2c7a655f1 | ||
|
|
b53e35e046 | ||
|
|
3e5dc29185 | ||
|
|
46f2154eab | ||
|
|
12aeef86ea | ||
|
|
dac1e71150 | ||
|
|
95ff7821a3 | ||
|
|
f1457186c7 | ||
|
|
e8ab968e5a | ||
|
|
f24b5fc35b | ||
|
|
04e1da81f3 | ||
|
|
42d297f192 | ||
|
|
4d7e90f7e9 | ||
|
|
ad089cb8da | ||
|
|
fef40bb59f | ||
|
|
cc4cd486bf | ||
|
|
b0c23fb875 | ||
|
|
25b6740f91 | ||
|
|
a0f7a4607d | ||
|
|
3fe8b28a02 | ||
|
|
d840ec37db | ||
|
|
84436a34b0 | ||
|
|
5226bb485b | ||
|
|
77b0ca2220 | ||
|
|
9ac90115d8 | ||
|
|
9a51e2c7e3 | ||
|
|
bfde1d2143 | ||
|
|
4afa1aace0 | ||
|
|
8dff205949 | ||
|
|
85a2fb1876 | ||
|
|
4e65b2724d | ||
|
|
5a1079e367 | ||
|
|
2dad73143d | ||
|
|
86f0216447 | ||
|
|
20f1610d60 | ||
|
|
6dfa9dd3b5 | ||
|
|
6a05924dcf | ||
|
|
2039cd4660 | ||
|
|
8259314721 | ||
|
|
d32e476d96 | ||
|
|
856502a06a | ||
|
|
48ee79ed9d | ||
|
|
1897dad06b | ||
|
|
a95822b2ec | ||
|
|
4cb22530ae | ||
|
|
fa501b18e4 | ||
|
|
9002a49fcc | ||
|
|
6621171e60 | ||
|
|
c16ea77c52 | ||
|
|
efa62ece72 | ||
|
|
869194f16a | ||
|
|
b5c4c34164 | ||
|
|
30e96a1d5e | ||
|
|
82dc07ee42 | ||
|
|
6a41d307bb | ||
|
|
afac237f03 | ||
|
|
8511181508 | ||
|
|
cf9737e762 | ||
|
|
1b16064db6 | ||
|
|
bcd8334263 | ||
|
|
897699dd04 | ||
|
|
3a97bfd110 | ||
|
|
9792d5df76 | ||
|
|
5dd8eab606 | ||
|
|
61729119c5 | ||
|
|
6225bd3bcb | ||
|
|
aabf136690 | ||
|
|
ad8e3f36ad | ||
|
|
0d381870a7 | ||
|
|
2a66ab036c | ||
|
|
af948466f4 | ||
|
|
d50f3f475f | ||
|
|
df78831592 | ||
|
|
a0dc865bdc | ||
|
|
878604225c | ||
|
|
85d0c42d73 | ||
|
|
c89ee8224c | ||
|
|
bf74d02079 | ||
|
|
a9a4623c63 | ||
|
|
b9022ada09 | ||
|
|
f290fef3a3 | ||
|
|
29b8596439 | ||
|
|
14ae657073 | ||
|
|
637b6d9e6e | ||
|
|
86325e889f | ||
|
|
84a790f3cd | ||
|
|
ab23ef4c4f | ||
|
|
9aba996403 | ||
|
|
c735b6655d | ||
|
|
55e7ab75c9 | ||
|
|
eab0af50e0 | ||
|
|
f5259b58e5 | ||
|
|
559e387d15 | ||
|
|
db78095c79 | ||
|
|
46ad7a31ad | ||
|
|
b5d7af65f8 | ||
|
|
b0d67a65a8 | ||
|
|
aaf347432b | ||
|
|
021fbb8ad4 | ||
|
|
5fe1b7b51f | ||
|
|
f0c580db2d | ||
|
|
8339c51017 | ||
|
|
af7cd9680d | ||
|
|
20e7d9e036 | ||
|
|
f1de06424e | ||
|
|
ff0f8c254f | ||
|
|
f0f0be9452 | ||
|
|
c553ed6775 | ||
|
|
c786a2bf9c | ||
|
|
e193a86eaa | ||
|
|
d5afafcdd0 | ||
|
|
5b9cdbd98a | ||
|
|
20fe4ccc55 | ||
|
|
8bb376798e | ||
|
|
7d51682edd | ||
|
|
f37159911c | ||
|
|
4f7f569ddd | ||
|
|
b352d38acf | ||
|
|
5663841742 | ||
|
|
8e2943fe11 | ||
|
|
5595570dfe | ||
|
|
afa28e9754 | ||
|
|
5a38cb4581 | ||
|
|
cf119568a1 | ||
|
|
8b1195df8d | ||
|
|
7021156732 | ||
|
|
4f2ff9e343 | ||
|
|
3dc7c3e776 | ||
|
|
e509c14ed1 | ||
|
|
a65ef6fb00 | ||
|
|
4c1d12fa70 | ||
|
|
1268774517 | ||
|
|
61a2a44584 | ||
|
|
89d68cab3e | ||
|
|
f7d55005c4 | ||
|
|
387694f477 | ||
|
|
bc58c73fb4 | ||
|
|
a4223ec3e0 | ||
|
|
d57f6a973f | ||
|
|
24ffa08d6e | ||
|
|
4b2fccf762 | ||
|
|
da5887fbb5 | ||
|
|
9926357af5 | ||
|
|
ef9aaf659c | ||
|
|
dd797d5d46 | ||
|
|
9c91bc1677 | ||
|
|
4f3aaa3e7f | ||
|
|
51451181f8 | ||
|
|
405dfbebae | ||
|
|
8e82b8894d | ||
|
|
b84101b12e | ||
|
|
5182c58292 | ||
|
|
d81d6bbeaa | ||
|
|
ddac19788f | ||
|
|
990c085fc5 | ||
|
|
2940561ee2 | ||
|
|
890352ef97 | ||
|
|
88c44caf9d | ||
|
|
3f6664c82a | ||
|
|
793a2ec90c | ||
|
|
780d00bd8c | ||
|
|
607169cbda | ||
|
|
fd1cbb45f2 | ||
|
|
c113eafdc8 | ||
|
|
0647bbba0e | ||
|
|
ea83f90e15 | ||
|
|
dfd5cb4f4e | ||
|
|
a5c81cfd3b | ||
|
|
ea4186eb0c | ||
|
|
e7914ac468 | ||
|
|
052e0b827a | ||
|
|
689b51e607 | ||
|
|
11384743bc | ||
|
|
d8d733e24d | ||
|
|
391b370b0f | ||
|
|
9b863fcf5b | ||
|
|
609868858b | ||
|
|
c291bf0861 | ||
|
|
bfd5482c15 | ||
|
|
52ea153c31 | ||
|
|
287c99ed2f | ||
|
|
8e60f54dac | ||
|
|
1f3fae53ca | ||
|
|
05ac97526e | ||
|
|
5fadfed47a | ||
|
|
ec1d547f27 | ||
|
|
9fee0ace4c | ||
|
|
84c2a33c18 | ||
|
|
8e1c10463f | ||
|
|
83744e77d1 | ||
|
|
85635dbefd | ||
|
|
11e6d04dc7 | ||
|
|
e89e909c5e | ||
|
|
7afda6dfc3 | ||
|
|
3a35b6c5fd | ||
|
|
c449e45def | ||
|
|
6c704e3595 | ||
|
|
318794692f | ||
|
|
62a0878198 | ||
|
|
cb1c8c4aea | ||
|
|
1ee5c14b85 | ||
|
|
01410e5d92 | ||
|
|
0e5d26a469 | ||
|
|
95e5b7be0b | ||
|
|
6d8f277904 | ||
|
|
b6325ec9d4 | ||
|
|
3373a2f382 | ||
|
|
9fcd878f1d | ||
|
|
1c50c35abe | ||
|
|
6a0ee57054 | ||
|
|
00adfa6f3d | ||
|
|
6058c8862e | ||
|
|
e5f2f68188 | ||
|
|
c6ee2772e2 | ||
|
|
16caff1ca4 | ||
|
|
ac2ae16f47 | ||
|
|
c40758f30d | ||
|
|
16aafe28d5 | ||
|
|
db96605332 | ||
|
|
31954f5266 | ||
|
|
66718de562 | ||
|
|
e2d02f4e4b | ||
|
|
e3d4bf192f | ||
|
|
e7b94f3d3a | ||
|
|
30be7af3e3 | ||
|
|
9069b4b269 | ||
|
|
040c80ae0b | ||
|
|
a87c9b15d2 | ||
|
|
635cae4f94 | ||
|
|
67e6d12384 | ||
|
|
9ccdc0e94b | ||
|
|
762c0aa579 | ||
|
|
5dc78932d7 | ||
|
|
e9c5f18142 | ||
|
|
175023b2dc | ||
|
|
0a7c42c59a | ||
|
|
42122fdea0 | ||
|
|
4bfe65d8ab | ||
|
|
1b06fe1220 | ||
|
|
1b11a7feae | ||
|
|
6b60b51775 | ||
|
|
981162e6b9 | ||
|
|
c5dd99b1f1 | ||
|
|
53c536d76d | ||
|
|
e3ab8821b9 | ||
|
|
6befea6a13 | ||
|
|
f24e3c6192 | ||
|
|
63e593b3a8 | ||
|
|
7ca4ec1bed | ||
|
|
8ed1961886 | ||
|
|
ad44e45695 | ||
|
|
962ec1e454 | ||
|
|
bcc718b5a9 | ||
|
|
ac50119dd9 | ||
|
|
e953e11b7f | ||
|
|
18361ce144 | ||
|
|
cfdacb09ac | ||
|
|
5bb83afc7a | ||
|
|
f35853c42e | ||
|
|
44492b9e2d | ||
|
|
a46bb46e54 | ||
|
|
84c190c293 | ||
|
|
9da4a21f94 | ||
|
|
2a3a351445 | ||
|
|
928cd0a8cb | ||
|
|
509d2189c1 | ||
|
|
725fa87188 | ||
|
|
147eaab59a | ||
|
|
890ec34202 | ||
|
|
92858dc7d3 | ||
|
|
4440b42848 | ||
|
|
136fd5c8e1 | ||
|
|
d92356ce28 | ||
|
|
47f673aa69 | ||
|
|
64d4a3e8a8 | ||
|
|
87e72fc7aa | ||
|
|
6d44a3ec95 | ||
|
|
eb47eabba4 | ||
|
|
cfb0de69f0 | ||
|
|
2d46cc4c11 | ||
|
|
9761c5bb56 | ||
|
|
7d6bf487a7 | ||
|
|
6fda783fc1 | ||
|
|
aeaa039542 | ||
|
|
62e85b1cf0 | ||
|
|
080a08fa76 | ||
|
|
be1eb1c693 | ||
|
|
daf5d4acdb | ||
|
|
f4781b9117 | ||
|
|
0f778431f5 | ||
|
|
2121ce1210 | ||
|
|
c54aadcac3 | ||
|
|
3fc74166de | ||
|
|
749b13adec | ||
|
|
c33ddf49ff | ||
|
|
bc1e2dcb54 | ||
|
|
9a193ed88f | ||
|
|
fb32c5bcd1 | ||
|
|
67b46d9aac | ||
|
|
4b3b641152 | ||
|
|
aeb2ec68ef | ||
|
|
e1c304c2e5 | ||
|
|
c7de9d4668 | ||
|
|
45aa6dff75 | ||
|
|
8b0562b946 | ||
|
|
373f1a0ff0 | ||
|
|
058f6bd8de | ||
|
|
a707f7b9e7 | ||
|
|
61d1574023 | ||
|
|
fe59898e5c | ||
|
|
0df1952a04 | ||
|
|
1d8ec7c7d6 | ||
|
|
b770ea4f8d | ||
|
|
b31f2d952c | ||
|
|
370c47d95b | ||
|
|
9b3767e77c | ||
|
|
196b643e7d | ||
|
|
c9626c140c | ||
|
|
a356a4dc06 | ||
|
|
34d5c3777b | ||
|
|
ac74a08d53 | ||
|
|
47b0f901c8 | ||
|
|
18103aae75 | ||
|
|
cc9ae13297 | ||
|
|
334b3ac706 | ||
|
|
b8f19786a1 | ||
|
|
a9063eb87b | ||
|
|
175e0f71ce | ||
|
|
51f9e8f681 | ||
|
|
782c254ea0 | ||
|
|
8bc0410830 | ||
|
|
70f3568e16 | ||
|
|
fb2c140fad | ||
|
|
9ede565a00 | ||
|
|
11dd70cb1a | ||
|
|
406fc2a4d4 | ||
|
|
e6ef982706 | ||
|
|
f3bb155b0a | ||
|
|
868d5f60f3 | ||
|
|
14bd911879 | ||
|
|
7814654d38 | ||
|
|
1b67494e0b | ||
|
|
e052a11326 | ||
|
|
75bfc6b893 | ||
|
|
8c7a35c973 | ||
|
|
489b151d49 | ||
|
|
b5d3580150 | ||
|
|
08e283bc91 | ||
|
|
07463dda6b | ||
|
|
4f7cc79b4c | ||
|
|
938707203c | ||
|
|
69879332fd | ||
|
|
01ad967640 | ||
|
|
d8c853bb83 | ||
|
|
db6ed90337 | ||
|
|
8991b5ead3 | ||
|
|
a301866560 | ||
|
|
75cad6179d | ||
|
|
2f094c2350 | ||
|
|
8d614463ae | ||
|
|
1f7e39e184 | ||
|
|
acc1a3d693 | ||
|
|
39acdd8725 | ||
|
|
200bbc47d7 | ||
|
|
79524885e3 | ||
|
|
4f705c3712 | ||
|
|
fd055e5f0b | ||
|
|
e1f5c79b97 | ||
|
|
ff29cbf3e7 | ||
|
|
7630b47c3a | ||
|
|
acb379132a | ||
|
|
ad04bf77d1 | ||
|
|
64bc88ce82 | ||
|
|
4e07a54a45 | ||
|
|
b762a8c442 | ||
|
|
46722cb6b1 | ||
|
|
3102ca1133 | ||
|
|
206176eeb7 | ||
|
|
988da75d82 | ||
|
|
ac245b174d | ||
|
|
e6b867da57 | ||
|
|
1d0a799b77 | ||
|
|
4c3bb57d14 | ||
|
|
1e255f0cd8 | ||
|
|
6077043939 | ||
|
|
5608062d58 | ||
|
|
703361194e | ||
|
|
17b2539ad2 | ||
|
|
840d5eb671 | ||
|
|
871231c5cf | ||
|
|
394170bd4c | ||
|
|
0a5e1a69e3 | ||
|
|
74e5dd3c91 | ||
|
|
f7a5de3cc9 | ||
|
|
ebdbcc2a7f | ||
|
|
27c69895ce | ||
|
|
60370e370f | ||
|
|
b3e204241a | ||
|
|
1c82e5259e | ||
|
|
273f6955f0 | ||
|
|
5fe1cc174e | ||
|
|
a2203904fc | ||
|
|
43627a46ac | ||
|
|
585f31b6f2 | ||
|
|
f66d8ee0f8 | ||
|
|
d98f77ed58 | ||
|
|
00f0a70454 | ||
|
|
a5d2558f5a | ||
|
|
69830d570f | ||
|
|
d8395beadd | ||
|
|
5c8721c429 | ||
|
|
bba74db341 | ||
|
|
9902dd5588 | ||
|
|
a221a4dc94 | ||
|
|
6dada1294e | ||
|
|
2f7c1cca78 | ||
|
|
bb4bba620c | ||
|
|
39419a212e | ||
|
|
136e32110e | ||
|
|
b8b4a81576 | ||
|
|
a378172775 | ||
|
|
70e85529c7 | ||
|
|
a8e9c1b9e2 | ||
|
|
e1f995ab90 | ||
|
|
4d357fafb2 | ||
|
|
0f6429ecb5 | ||
|
|
1c2289f2ce | ||
|
|
89ce0ce1e2 | ||
|
|
fd4ecd08e9 | ||
|
|
2c03490f2d | ||
|
|
61da0ff829 | ||
|
|
c428008166 | ||
|
|
94d1ea7032 | ||
|
|
de784d2bbc | ||
|
|
75a47e98c3 | ||
|
|
dde1a5a6eb | ||
|
|
9cfaab6baf | ||
|
|
6d8125be19 | ||
|
|
65e9aa10e1 | ||
|
|
da48c2141c | ||
|
|
bbcca80503 | ||
|
|
8dca319545 | ||
|
|
a7b4d81a11 | ||
|
|
b688a2e518 | ||
|
|
572c4d8727 | ||
|
|
781c531964 | ||
|
|
6302eeeb2b | ||
|
|
471d83fb97 | ||
|
|
12f6b340e5 | ||
|
|
ea5b824977 | ||
|
|
2f9b64fdd7 | ||
|
|
9e43f1b5de | ||
|
|
23cc9d866b | ||
|
|
1ca86a2390 | ||
|
|
13887d91d9 | ||
|
|
eb2bc17578 | ||
|
|
b3e01fb94f | ||
|
|
e25b0da9c6 | ||
|
|
dfd6936d64 | ||
|
|
c4ace88643 | ||
|
|
8b727979d0 | ||
|
|
b0f8314255 | ||
|
|
5c4e364491 | ||
|
|
9594e18d04 | ||
|
|
1a8444740a | ||
|
|
ac5834c863 | ||
|
|
94b0a83f0b | ||
|
|
8d10eaa96d | ||
|
|
ed44b818fc | ||
|
|
9832972692 | ||
|
|
631ea72b88 | ||
|
|
bdeab6054e | ||
|
|
9922bc465b | ||
|
|
3623cf8644 | ||
|
|
3b024c3132 | ||
|
|
5fb93a9f1c | ||
|
|
f560364f30 | ||
|
|
1f77e22ed2 | ||
|
|
5897b2311c | ||
|
|
2fa6229214 | ||
|
|
476ffca228 | ||
|
|
2603fb7cb6 | ||
|
|
5d54d48f70 | ||
|
|
9dab1f1fe2 | ||
|
|
ce7de78c49 | ||
|
|
0dc44545fa | ||
|
|
b289ef39b0 | ||
|
|
2e97f8b07a | ||
|
|
9efe16b6b4 | ||
|
|
e5471f250d | ||
|
|
352797ea60 | ||
|
|
091bba0fc5 | ||
|
|
59381b8ad2 | ||
|
|
c5e7f6b990 | ||
|
|
a495c247ac | ||
|
|
9b4c0fe196 | ||
|
|
890a4e5cd5 | ||
|
|
6e969d5e85 | ||
|
|
92d28ca6ac | ||
|
|
aafdc5b782 | ||
|
|
9f7899460f | ||
|
|
6d382f8222 | ||
|
|
56cb006827 | ||
|
|
233ac3dfc9 | ||
|
|
807b74e55d | ||
|
|
837f32d443 | ||
|
|
0990a66f3c | ||
|
|
ab8199a5ca | ||
|
|
5bcba600e6 | ||
|
|
f6e15c1d37 | ||
|
|
06dccb468e | ||
|
|
d34ab1e1fe | ||
|
|
7c20e4773d | ||
|
|
dec5db074c | ||
|
|
d10715a96c | ||
|
|
d7d7e602bc | ||
|
|
96e72af509 | ||
|
|
929d1e2ad9 | ||
|
|
677d94490f | ||
|
|
51edfdd41d | ||
|
|
02657f4c6a | ||
|
|
4ffefe76fc | ||
|
|
1fc405ea52 | ||
|
|
37917db64c | ||
|
|
2a50004add | ||
|
|
20e04d4535 | ||
|
|
fc73ff2ea0 | ||
|
|
3a73ece59d | ||
|
|
21460d59fb | ||
|
|
c964742227 | ||
|
|
efd45bd919 | ||
|
|
8d3aa5c31e | ||
|
|
2364dec9dd | ||
|
|
87fdb5d0f9 | ||
|
|
a96e90003b | ||
|
|
77b35891d4 | ||
|
|
917b1b86ea | ||
|
|
f143cec54e | ||
|
|
9048dd7fc4 | ||
|
|
7170a0e5c0 | ||
|
|
99d0d6defa | ||
|
|
a7a43e4031 | ||
|
|
e91f93bfed | ||
|
|
7b693013aa | ||
|
|
0f414c1d5a | ||
|
|
27de201bda | ||
|
|
03c8de6195 | ||
|
|
7a600e03d0 | ||
|
|
4a60a6e248 | ||
|
|
39d0b7c5cf | ||
|
|
1979f9ea2c | ||
|
|
14e2229503 | ||
|
|
9d0f1c4e43 | ||
|
|
5aecf2d3a3 | ||
|
|
d62d5908d1 | ||
|
|
074b825414 | ||
|
|
ecc6899b42 | ||
|
|
d01ef02c14 | ||
|
|
14d0b36f1b | ||
|
|
fc04717d96 | ||
|
|
7efb5df35c | ||
|
|
47a91e5d5f | ||
|
|
33aa925aa0 | ||
|
|
e145a0ccd0 | ||
|
|
6ab586c33e | ||
|
|
f9a9063e54 | ||
|
|
8b743ae751 | ||
|
|
9e1d5da5a1 | ||
|
|
e97cc9f172 | ||
|
|
3ce8d9f0b7 | ||
|
|
b23ffe6c94 | ||
|
|
276ef42c8f | ||
|
|
79a41d541d | ||
|
|
61e3f9000b | ||
|
|
a4c13e0720 | ||
|
|
a09460dc84 | ||
|
|
4bcfee22ef | ||
|
|
880c2697d1 | ||
|
|
188e1b61c5 | ||
|
|
696c5df092 | ||
|
|
408b38b41f | ||
|
|
4a6b6fad77 | ||
|
|
f7fa13899f | ||
|
|
f370e2b85d | ||
|
|
5d649f750b | ||
|
|
cfcf4d2336 | ||
|
|
922ab40c75 | ||
|
|
2532245413 | ||
|
|
85ca7e0f05 | ||
|
|
28c8d125cf | ||
|
|
799a81966a | ||
|
|
6333bc59b1 | ||
|
|
d953f894a1 | ||
|
|
868b9843b0 | ||
|
|
c89f13bb53 | ||
|
|
722c801f8a | ||
|
|
269e588ad0 | ||
|
|
4ee33d3bd9 | ||
|
|
85285d9862 | ||
|
|
84226635b2 | ||
|
|
8ed0cb7bf1 | ||
|
|
55649ad6c4 | ||
|
|
379c5f75e7 | ||
|
|
a75f57beb8 | ||
|
|
e0ef1d434d | ||
|
|
cdff62547b | ||
|
|
5dc9cdbd3c | ||
|
|
a8fd1c54c0 | ||
|
|
cc45e06ea9 | ||
|
|
898f8e66c1 | ||
|
|
a9a01cf396 | ||
|
|
0685cf34d3 | ||
|
|
4991b6743f | ||
|
|
12ff311114 | ||
|
|
38f606b612 | ||
|
|
b4427a0073 | ||
|
|
f0900bc02e | ||
|
|
5dfd499e07 | ||
|
|
30ae073080 | ||
|
|
3daa74ff27 | ||
|
|
ccba1c8c6f | ||
|
|
8f8a1e0d1f | ||
|
|
ac81f16107 | ||
|
|
ebe9b4f80f | ||
|
|
b35b3bcb87 | ||
|
|
21a7e0243c | ||
|
|
8c668cfa24 | ||
|
|
87d795807d | ||
|
|
6377f59e23 | ||
|
|
c81beeb023 | ||
|
|
f07606a0ce | ||
|
|
e1adf54b36 | ||
|
|
09e2fbaa6b | ||
|
|
3009200b76 | ||
|
|
e0910bfb3e | ||
|
|
d874609816 | ||
|
|
aebe171f55 | ||
|
|
c3a5194a6c | ||
|
|
9a3ea063c8 | ||
|
|
276e122b62 | ||
|
|
2c03abaa8e | ||
|
|
fe87d45221 | ||
|
|
c216a888be | ||
|
|
cb076e3587 | ||
|
|
1fd25e8778 | ||
|
|
311292c3a3 | ||
|
|
0d85f91453 | ||
|
|
a4e9dadc2d | ||
|
|
68a63e2217 | ||
|
|
40641133bc | ||
|
|
af9117e084 | ||
|
|
8fcc9494fe | ||
|
|
08b9760939 | ||
|
|
da0df57563 | ||
|
|
b9ed9e0b6d | ||
|
|
67e74e7aed | ||
|
|
fe536fa15b | ||
|
|
cc971e6a3e | ||
|
|
1acbed1f7f | ||
|
|
25c19812e1 | ||
|
|
57cbc06fd8 | ||
|
|
9bbc99a6b4 | ||
|
|
90a9c92d38 | ||
|
|
38e8e51ec5 | ||
|
|
2a8bf173b2 | ||
|
|
63c38712a9 | ||
|
|
ceb899b69b | ||
|
|
7bff0bcdb2 | ||
|
|
8a817eb204 | ||
|
|
db7fa9ba2f | ||
|
|
dfb4d01015 | ||
|
|
c6423c0b65 | ||
|
|
0a69ed37da | ||
|
|
be939201fd | ||
|
|
5ebe0056dd | ||
|
|
a4728238bb | ||
|
|
0b403c88ae | ||
|
|
a2179c77ba | ||
|
|
73b6ec8ff0 | ||
|
|
ed3d5cf0ef | ||
|
|
7f976fa251 | ||
|
|
16d5e6e2f3 | ||
|
|
771841a2aa | ||
|
|
3a9a79e2f1 | ||
|
|
e5095cee5a | ||
|
|
dd6d0d26be | ||
|
|
17c0b06d85 | ||
|
|
7efa1dface | ||
|
|
d26afe1b64 | ||
|
|
f62db48251 | ||
|
|
7fbc817b9e | ||
|
|
5ce2e2b219 | ||
|
|
0e031f042d | ||
|
|
22e1a7b730 | ||
|
|
c5182abc7d | ||
|
|
a53e0e8806 | ||
|
|
eb240d1e95 | ||
|
|
7759679ab1 | ||
|
|
905d3b6a85 | ||
|
|
a4e49a1f52 | ||
|
|
320c1f3874 | ||
|
|
d6094baec1 | ||
|
|
e1f2886f9d | ||
|
|
c917fbbe18 | ||
|
|
41c1effb4a | ||
|
|
070ea58a53 | ||
|
|
dd4b0f033c | ||
|
|
c93e4e27fe | ||
|
|
54095eb515 | ||
|
|
8ff67544d9 | ||
|
|
9f011049bf | ||
|
|
6caefea8c2 | ||
|
|
5dcb1f9fb0 | ||
|
|
e43d5edd30 | ||
|
|
8646d47c3b | ||
|
|
642f85c9ec | ||
|
|
7c338f3940 | ||
|
|
708267b8ca | ||
|
|
ee8ac26e47 | ||
|
|
523ef4203d | ||
|
|
6f37a56fce | ||
|
|
507075ceea | ||
|
|
fb05cf6cb3 | ||
|
|
3ef0ed1453 | ||
|
|
8e3ba09047 | ||
|
|
b676158117 | ||
|
|
7fd819dc0f | ||
|
|
0f0f08eb89 | ||
|
|
e444373a4f | ||
|
|
5fe62ad16f | ||
|
|
000d2056f6 | ||
|
|
836758be94 | ||
|
|
4ff3470a7f | ||
|
|
1ef1a7101d | ||
|
|
da0f087404 | ||
|
|
a810fe258a | ||
|
|
4e763dcb26 | ||
|
|
1167117ee0 | ||
|
|
29d6bf46c8 | ||
|
|
ce84c603c2 | ||
|
|
0b4754d2f4 | ||
|
|
b31735e25c | ||
|
|
1420ff720e | ||
|
|
cb1e9e8ff1 | ||
|
|
e5d083ca13 | ||
|
|
0c7baa86a4 | ||
|
|
f90db67c30 | ||
|
|
bfe1ca92b8 | ||
|
|
e0a364dd0f | ||
|
|
d68aeb1b49 | ||
|
|
37f7698371 | ||
|
|
bdfdd32f75 | ||
|
|
2b61046a75 | ||
|
|
404489dbbc | ||
|
|
6f03720938 | ||
|
|
196b412d1f | ||
|
|
7d9d5aa81a | ||
|
|
11907318b2 | ||
|
|
9f36622c08 | ||
|
|
cace79bc18 | ||
|
|
8a2ac6573f | ||
|
|
30a07de8e7 | ||
|
|
3998d8751c |
92
.appveyor/install.bat
Normal file
@@ -0,0 +1,92 @@
|
||||
@echo off
|
||||
|
||||
IF "%BUILD_DIR%"=="" SET BUILD_DIR=C:\TBuild
|
||||
SET LIB_DIR=%BUILD_DIR%\Libraries
|
||||
SET SRC_DIR=%BUILD_DIR%\tdesktop
|
||||
SET QT_VERSION=5_6_2
|
||||
|
||||
call:configureBuild
|
||||
call:getDependencies
|
||||
call:setupGYP
|
||||
cd %SRC_DIR%
|
||||
|
||||
echo Finished!
|
||||
|
||||
GOTO:EOF
|
||||
|
||||
:: FUNCTIONS
|
||||
:logInfo
|
||||
echo [INFO] %~1
|
||||
GOTO:EOF
|
||||
|
||||
:logError
|
||||
echo [ERROR] %~1
|
||||
GOTO:EOF
|
||||
|
||||
:getDependencies
|
||||
call:logInfo "Clone dependencies repository"
|
||||
git clone -q --depth 1 --branch=master https://github.com/telegramdesktop/dependencies_windows.git %LIB_DIR%
|
||||
cd %LIB_DIR%
|
||||
git clone https://github.com/Microsoft/Range-V3-VS2015 range-v3
|
||||
if exist prepare.bat (
|
||||
call prepare.bat
|
||||
) else (
|
||||
call:logError "Error cloning dependencies, trying again"
|
||||
rmdir %LIB_DIR% /S /Q
|
||||
call:getDependencies
|
||||
)
|
||||
GOTO:EOF
|
||||
|
||||
:setupGYP
|
||||
call:logInfo "Setup GYP/Ninja and generate VS solution"
|
||||
cd %LIB_DIR%
|
||||
git clone https://chromium.googlesource.com/external/gyp
|
||||
cd gyp
|
||||
git checkout a478c1ab51
|
||||
SET PATH=%PATH%;%BUILD_DIR%\Libraries\gyp;%BUILD_DIR%\Libraries\ninja;
|
||||
cd %SRC_DIR%
|
||||
git submodule init
|
||||
git submodule update
|
||||
cd %SRC_DIR%\Telegram
|
||||
call gyp\refresh.bat
|
||||
GOTO:EOF
|
||||
|
||||
:configureBuild
|
||||
call:logInfo "Configuring build"
|
||||
call:logInfo "Build version: %BUILD_VERSION%"
|
||||
set TDESKTOP_BUILD_DEFINES=
|
||||
|
||||
echo %BUILD_VERSION% | findstr /C:"disable_autoupdate">nul && (
|
||||
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_AUTOUPDATE
|
||||
)
|
||||
|
||||
echo %BUILD_VERSION% | findstr /C:"disable_register_custom_scheme">nul && (
|
||||
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME
|
||||
)
|
||||
|
||||
echo %BUILD_VERSION% | findstr /C:"disable_crash_reports">nul && (
|
||||
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_CRASH_REPORTS
|
||||
)
|
||||
|
||||
echo %BUILD_VERSION% | findstr /C:"disable_network_proxy">nul && (
|
||||
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_NETWORK_PROXY
|
||||
)
|
||||
|
||||
echo %BUILD_VERSION% | findstr /C:"disable_desktop_file_generation">nul && (
|
||||
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION
|
||||
)
|
||||
|
||||
echo %BUILD_VERSION% | findstr /C:"disable_unity_integration">nul && (
|
||||
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_UNITY_INTEGRATION
|
||||
)
|
||||
|
||||
echo %BUILD_VERSION% | findstr /C:"disable_gtk_integration">nul && (
|
||||
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_GTK_INTEGRATION
|
||||
)
|
||||
|
||||
if not "%TDESKTOP_BUILD_DEFINES%" == "" (
|
||||
set "TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES:~1%"
|
||||
)
|
||||
|
||||
call:logInfo "Build Defines: %TDESKTOP_BUILD_DEFINES%"
|
||||
GOTO:EOF
|
||||
6
.gitattributes
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
# Set the default behavior, in case people don't have core.autocrlf set.
|
||||
* text=auto
|
||||
|
||||
# Ensure diffs have LF endings
|
||||
*.diff text eol=lf
|
||||
*.bat text eol=crlf
|
||||
115
.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
# Contributing
|
||||
|
||||
This document describes how you can contribute to Telegram Desktop. Please read it carefully.
|
||||
|
||||
**Table of Contents**
|
||||
|
||||
* [What contributions are accepted](#what-contributions-are-accepted)
|
||||
* [Build instructions](#build-instructions)
|
||||
* [Pull upstream changes into your fork regularly](#pull-upstream-changes-into-your-fork-regularly)
|
||||
* [How to get your pull request accepted](#how-to-get-your-pull-request-accepted)
|
||||
* [Keep your pull requests limited to a single issue](#keep-your-pull-requests-limited-to-a-single-issue)
|
||||
* [Squash your commits to a single commit](#squash-your-commits-to-a-single-commit)
|
||||
* [Don't mix code changes with whitespace cleanup](#dont-mix-code-changes-with-whitespace-cleanup)
|
||||
* [Keep your code simple!](#keep-your-code-simple)
|
||||
* [Test your changes!](#test-your-changes)
|
||||
* [Write a good commit message](#write-a-good-commit-message)
|
||||
|
||||
## What contributions are accepted
|
||||
|
||||
We highly appreciate your contributions in the matter of fixing bugs and optimizing the Telegram Desktop source code and its documentation. In case of fixing the existing user experience please push to your fork and [submit a pull request][pr].
|
||||
|
||||
Wait for us. We try to review your pull requests as fast as possible.
|
||||
If we find issues with your pull request, we may suggest some changes and improvements.
|
||||
|
||||
Unfortunately we **do not merge** any pull requests that have new feature implementations, translations to new languages and those which introduce any new user interface elements.
|
||||
|
||||
Telegram Desktop is not a standalone application but a part of [Telegram project][telegram], so all the decisions about the features, languages, user experience, user interface and the design are made inside Telegram team, often according to some roadmap which is not public.
|
||||
|
||||
## Build instructions
|
||||
|
||||
See the [README.md][build_instructions] for details on the various build
|
||||
environments.
|
||||
|
||||
## Pull upstream changes into your fork regularly
|
||||
|
||||
Telegram Desktop is advancing quickly. It is therefore critical that you pull upstream changes into your fork on a regular basis. Nothing is worse than putting in a days of hard work into a pull request only to have it rejected because it has diverged too far from upstram.
|
||||
|
||||
To pull in upstream changes:
|
||||
|
||||
git remote add upstream https://github.com/telegramdesktop/tdesktop.git
|
||||
git fetch upstream master
|
||||
|
||||
Check the log to be sure that you actually want the changes, before merging:
|
||||
|
||||
git log upstream/master
|
||||
|
||||
Then rebase your changes on the latest commits in the `master` branch:
|
||||
|
||||
git rebase upstream/master
|
||||
|
||||
After that, you have to force push your commits:
|
||||
|
||||
git push --force
|
||||
|
||||
For more info, see [GitHub Help][help_fork_repo].
|
||||
|
||||
## How to get your pull request accepted
|
||||
|
||||
We want to improve Telegram Desktop with your contributions. But we also want to provide a stable experience for our users and the community. Follow these rules and you should succeed without a problem!
|
||||
|
||||
### Keep your pull requests limited to a single issue
|
||||
|
||||
Pull requests should be as small/atomic as possible. Large, wide-sweeping changes in a pull request will be **rejected**, with comments to isolate the specific code in your pull request. Some examples:
|
||||
|
||||
* If you are making spelling corrections in the docs, don't modify other files.
|
||||
* If you are adding new functions don't '*cleanup*' unrelated functions. That cleanup belongs in another pull request.
|
||||
|
||||
#### Squash your commits to a single commit
|
||||
|
||||
To keep the history of the project clean, you should make one commit per pull request.
|
||||
If you already have multiple commits, you can add the commits together (squash them) with the following commands in Git Bash:
|
||||
|
||||
1. Open `Git Bash` (or `Git Shell`)
|
||||
2. Enter following command to squash the recent {N} commits: `git reset --soft HEAD~{N} && git commit` (replace `{N}` with the number of commits you want to squash)
|
||||
3. Press <kbd>i</kbd> to get into Insert-mode
|
||||
4. Enter the commit message of the new commit
|
||||
5. After adding the message, press <kbd>ESC</kbd> to get out of the Insert-mode
|
||||
6. Write `:wq` and press <kbd>Enter</kbd> to save the new message or write `:q!` to discard your changes
|
||||
7. Enter `git push --force` to push the new commit to the remote repository
|
||||
|
||||
For example, if you want to squash the last 5 commits, use `git reset --soft HEAD~5 && git commit`
|
||||
|
||||
### Don't mix code changes with whitespace cleanup
|
||||
|
||||
If you change two lines of code and correct 200 lines of whitespace issues in a file the diff on that pull request is functionally unreadable and will be **rejected**. Whitespace cleanups need to be in their own pull request.
|
||||
|
||||
### Keep your code simple!
|
||||
|
||||
Please keep your code as clean and straightforward as possible.
|
||||
Furthermore, the pixel shortage is over. We want to see:
|
||||
|
||||
* `opacity` instead of `o`
|
||||
* `placeholder` instead of `ph`
|
||||
* `myFunctionThatDoesThings()` instead of `mftdt()`
|
||||
|
||||
### Test your changes!
|
||||
|
||||
Before you submit a pull request, please test your changes. Verify that Telegram Desktop still works and your changes don't cause other issue or crashes.
|
||||
|
||||
### Write a good commit message
|
||||
|
||||
* Explain why you make the changes. [More infos about a good commit message.][commit_message]
|
||||
|
||||
* If you fix an issue with your commit, please close the issue by [adding one of the keywords and the issue number][closing-issues-via-commit-messages] to your commit message.
|
||||
|
||||
For example: `Fix #545`
|
||||
|
||||
[//]: # (LINKS)
|
||||
[telegram]: https://telegram.org/
|
||||
[help_fork_repo]: https://help.github.com/articles/fork-a-repo/
|
||||
[help_change_commit_message]: https://help.github.com/articles/changing-a-commit-message/
|
||||
[commit_message]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
||||
[pr]: https://github.com/telegramdesktop/tdesktop/compare
|
||||
[build_instructions]: https://github.com/telegramdesktop/tdesktop/blob/master/README.md#build-instructions
|
||||
[closing-issues-via-commit-messages]: https://help.github.com/articles/closing-issues-via-commit-messages/
|
||||
29
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
<!--
|
||||
Thanks for reporting issues of Telegram Desktop!
|
||||
|
||||
To make it easier for us to help you please enter detailed information below.
|
||||
-->
|
||||
### Steps to reproduce
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### Expected behaviour
|
||||
Tell us what should happen
|
||||
|
||||
### Actual behaviour
|
||||
Tell us what happens instead
|
||||
|
||||
### Configuration
|
||||
**Operating system:**
|
||||
|
||||
**Version of Telegram Desktop:**
|
||||
|
||||
**Used theme**:
|
||||
|
||||
<details><summary><b>Logs</b>:</summary>
|
||||
Insert logs here (if necessary)
|
||||
|
||||
<!-- You can type `debugmode` in settings and then see ~/.TelegramDesktop/DebugLogs/log_...txt for log files.
|
||||
Type `debugmode` in settings again to disable logs. -->
|
||||
</details>
|
||||
68
.gitignore
vendored
@@ -1,15 +1,57 @@
|
||||
Telegram/GeneratedFiles/
|
||||
Telegram/*.user
|
||||
Telegram.*.suo
|
||||
Telegram.sdf
|
||||
Telegram.opensdf
|
||||
Telegram/*.aps
|
||||
Win32/
|
||||
/out/
|
||||
/Debug/
|
||||
/Release/
|
||||
/Deploy/
|
||||
/ThirdParty/
|
||||
/Telegram/build/target
|
||||
/Telegram/GeneratedFiles/
|
||||
/Telegram/SourceFiles/art/grid.png
|
||||
/Telegram/SourceFiles/art/grid_125x.png
|
||||
/Telegram/SourceFiles/art/grid_150x.png
|
||||
/Telegram/SourceFiles/art/grid_200x.png
|
||||
/Telegram/SourceFiles/art/sprite_125x.png
|
||||
/Telegram/SourceFiles/art/sprite_150x.png
|
||||
/Telegram/Resources/art/grid.png
|
||||
/Telegram/Resources/art/grid_125x.png
|
||||
/Telegram/Resources/art/grid_150x.png
|
||||
/Telegram/Resources/art/grid_200x.png
|
||||
/Telegram/Resources/art/sprite_125x.png
|
||||
/Telegram/Resources/art/sprite_150x.png
|
||||
/Telegram/Debug/
|
||||
/Telegram/Release/
|
||||
/Telegram/tests/
|
||||
/Telegram/gyp/tests/*.test
|
||||
/Telegram/out/
|
||||
/Telegram/*.user
|
||||
*.vcxproj*
|
||||
*.sln
|
||||
*.suo
|
||||
*.sdf
|
||||
*.opensdf
|
||||
*.opendb
|
||||
*.VC.db
|
||||
*.aps
|
||||
*.xcodeproj
|
||||
/Win32/
|
||||
ipch/
|
||||
.vs/
|
||||
|
||||
Telegram/log.txt
|
||||
Telegram/data
|
||||
Telegram/data_config
|
||||
Telegram/DebugLogs/
|
||||
Telegram/tdata/
|
||||
Telegram/tdumps/
|
||||
/Telegram/log.txt
|
||||
/Telegram/data
|
||||
/Telegram/data_config
|
||||
/Telegram/DebugLogs/
|
||||
/Telegram/tdata/
|
||||
/Telegram/tdumps/
|
||||
|
||||
.DS_Store
|
||||
._*
|
||||
.qmake.stash
|
||||
/Mac/
|
||||
project.xcworkspace
|
||||
xcuserdata
|
||||
|
||||
/Telegram/*.user.*
|
||||
*.pro.user
|
||||
/Linux/
|
||||
/Telegram/Makefile
|
||||
*.*~
|
||||
|
||||
15
.gitmodules
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
[submodule "Telegram/ThirdParty/libtgvoip"]
|
||||
path = Telegram/ThirdParty/libtgvoip
|
||||
url = https://github.com/telegramdesktop/libtgvoip
|
||||
[submodule "Telegram/ThirdParty/variant"]
|
||||
path = Telegram/ThirdParty/variant
|
||||
url = https://github.com/mapbox/variant
|
||||
[submodule "Telegram/ThirdParty/GSL"]
|
||||
path = Telegram/ThirdParty/GSL
|
||||
url = https://github.com/Microsoft/GSL.git
|
||||
[submodule "Telegram/ThirdParty/Catch"]
|
||||
path = Telegram/ThirdParty/Catch
|
||||
url = https://github.com/philsquared/Catch
|
||||
[submodule "Telegram/ThirdParty/crl"]
|
||||
path = Telegram/ThirdParty/crl
|
||||
url = https://github.com/telegramdesktop/crl.git
|
||||
67
.travis.yml
Normal file
@@ -0,0 +1,67 @@
|
||||
sudo: required
|
||||
dist: trusty
|
||||
|
||||
language: cpp
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/travisCacheDir
|
||||
|
||||
env:
|
||||
matrix:
|
||||
- BUILD_VERSION=""
|
||||
- BUILD_VERSION="disable_autoupdate"
|
||||
- BUILD_VERSION="disable_register_custom_scheme"
|
||||
- BUILD_VERSION="disable_crash_reports"
|
||||
- BUILD_VERSION="disable_network_proxy"
|
||||
- BUILD_VERSION="disable_desktop_file_generation"
|
||||
- BUILD_VERSION="disable_unity_integration"
|
||||
- BUILD_VERSION="disable_gtk_integration"
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- bison
|
||||
- build-essential
|
||||
- cmake
|
||||
- devscripts
|
||||
- dpatch
|
||||
- equivs
|
||||
- fakeroot
|
||||
- g++-7
|
||||
- gcc-7
|
||||
- git
|
||||
- gnome-common
|
||||
- gobject-introspection
|
||||
- gtk-doc-tools
|
||||
- libappindicator-dev
|
||||
- libasound2-dev
|
||||
- libdbusmenu-glib-dev
|
||||
- liblzma-dev
|
||||
- libopus-dev
|
||||
- libpulse-dev
|
||||
- libssl-dev
|
||||
- libunity-dev
|
||||
- libva-dev
|
||||
- libvdpau-dev
|
||||
- libxcb-xkb-dev
|
||||
- libxkbcommon-dev
|
||||
- lintian
|
||||
- quilt
|
||||
- valac
|
||||
- xutils-dev
|
||||
- yasm
|
||||
|
||||
before_install:
|
||||
- export CXX="g++-7" CC="gcc-7"
|
||||
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 --slave /usr/bin/g++ g++ /usr/bin/g++-7
|
||||
- sudo update-alternatives --config gcc
|
||||
- g++ --version
|
||||
|
||||
script:
|
||||
- .travis/build.sh
|
||||
719
.travis/build.sh
Executable file
@@ -0,0 +1,719 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
REPO="$PWD"
|
||||
|
||||
BUILD="$REPO/build"
|
||||
UPSTREAM="$REPO/upstream"
|
||||
EXTERNAL="$REPO/external"
|
||||
CACHE="$HOME/travisCacheDir"
|
||||
|
||||
QT_WAS_BUILT="0"
|
||||
|
||||
QT_VERSION=5.6.2
|
||||
|
||||
XKB_PATH="$BUILD/libxkbcommon"
|
||||
XKB_CACHE_VERSION="3"
|
||||
|
||||
QT_PATH="$BUILD/qt"
|
||||
QT_CACHE_VERSION="3"
|
||||
QT_PATCH="$UPSTREAM/Telegram/Patches/qtbase_${QT_VERSION//\./_}.diff"
|
||||
|
||||
BREAKPAD_PATH="$BUILD/breakpad"
|
||||
BREAKPAD_CACHE_VERSION="3"
|
||||
|
||||
GYP_PATH="$BUILD/gyp"
|
||||
GYP_CACHE_VERSION="3"
|
||||
GYP_PATCH="$UPSTREAM/Telegram/Patches/gyp.diff"
|
||||
|
||||
RANGE_PATH="$BUILD/range-v3"
|
||||
RANGE_CACHE_VERSION="3"
|
||||
|
||||
VA_PATH="$BUILD/libva"
|
||||
VA_CACHE_VERSION="3"
|
||||
|
||||
VDPAU_PATH="$BUILD/libvdpau"
|
||||
VDPAU_CACHE_VERSION="3"
|
||||
|
||||
FFMPEG_PATH="$BUILD/ffmpeg"
|
||||
FFMPEG_CACHE_VERSION="3"
|
||||
|
||||
OPENAL_PATH="$BUILD/openal-soft"
|
||||
OPENAL_CACHE_VERSION="3"
|
||||
|
||||
GYP_DEFINES=""
|
||||
|
||||
[[ ! $MAKE_ARGS ]] && MAKE_ARGS="--silent -j4"
|
||||
|
||||
run() {
|
||||
# Move files to subdir
|
||||
cd ..
|
||||
mv tdesktop tdesktop2
|
||||
mkdir tdesktop
|
||||
mv tdesktop2 "$UPSTREAM"
|
||||
|
||||
mkdir "$BUILD"
|
||||
|
||||
build
|
||||
check
|
||||
}
|
||||
|
||||
build() {
|
||||
mkdir -p "$EXTERNAL"
|
||||
|
||||
BUILD_VERSION_DATA=$(echo $BUILD_VERSION | cut -d'-' -f 1)
|
||||
|
||||
# libxkbcommon
|
||||
getXkbCommon
|
||||
|
||||
# libva
|
||||
getVa
|
||||
|
||||
# libvdpau
|
||||
getVdpau
|
||||
|
||||
# ffmpeg
|
||||
getFFmpeg
|
||||
|
||||
# openal_soft
|
||||
getOpenAL
|
||||
|
||||
# Patched Qt
|
||||
getCustomQt
|
||||
|
||||
# Breakpad
|
||||
getBreakpad
|
||||
|
||||
# Patched GYP (supports cmake precompiled headers)
|
||||
getGYP
|
||||
|
||||
# Range v3
|
||||
getRange
|
||||
|
||||
# Guideline Support Library
|
||||
getGSL
|
||||
|
||||
if [ "$QT_WAS_BUILT" == "1" ]; then
|
||||
error_msg "Qt was built, please restart the job :("
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Configure the build
|
||||
if [[ $BUILD_VERSION == *"disable_autoupdate"* ]]; then
|
||||
GYP_DEFINES+=",TDESKTOP_DISABLE_AUTOUPDATE"
|
||||
fi
|
||||
|
||||
if [[ $BUILD_VERSION == *"disable_register_custom_scheme"* ]]; then
|
||||
GYP_DEFINES+=",TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
|
||||
fi
|
||||
|
||||
if [[ $BUILD_VERSION == *"disable_crash_reports"* ]]; then
|
||||
GYP_DEFINES+=",TDESKTOP_DISABLE_CRASH_REPORTS"
|
||||
fi
|
||||
|
||||
if [[ $BUILD_VERSION == *"disable_network_proxy"* ]]; then
|
||||
GYP_DEFINES+=",TDESKTOP_DISABLE_NETWORK_PROXY"
|
||||
fi
|
||||
|
||||
if [[ $BUILD_VERSION == *"disable_desktop_file_generation"* ]]; then
|
||||
GYP_DEFINES+=",TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION"
|
||||
fi
|
||||
|
||||
if [[ $BUILD_VERSION == *"disable_unity_integration"* ]]; then
|
||||
GYP_DEFINES+=",TDESKTOP_DISABLE_UNITY_INTEGRATION"
|
||||
fi
|
||||
|
||||
if [[ $BUILD_VERSION == *"disable_gtk_integration"* ]]; then
|
||||
GYP_DEFINES+=",TDESKTOP_DISABLE_GTK_INTEGRATION"
|
||||
fi
|
||||
|
||||
info_msg "Build defines: ${GYP_DEFINES}"
|
||||
|
||||
buildTelegram
|
||||
|
||||
travisEndFold
|
||||
}
|
||||
|
||||
getXkbCommon() {
|
||||
travisStartFold "Getting xkbcommon"
|
||||
|
||||
local XKB_CACHE="$CACHE/libxkbcommon"
|
||||
local XKB_CACHE_FILE="$XKB_CACHE/.cache.txt"
|
||||
local XKB_CACHE_KEY="${XKB_CACHE_VERSION}"
|
||||
local XKB_CACHE_OUTDATED="1"
|
||||
|
||||
if [ ! -d "$XKB_CACHE" ]; then
|
||||
mkdir -p "$XKB_CACHE"
|
||||
fi
|
||||
|
||||
ln -sf "$XKB_CACHE" "$XKB_PATH"
|
||||
|
||||
if [ -f "$XKB_CACHE_FILE" ]; then
|
||||
local XKB_CACHE_KEY_FOUND=`tail -n 1 $XKB_CACHE_FILE`
|
||||
if [ "$XKB_CACHE_KEY" == "$XKB_CACHE_KEY_FOUND" ]; then
|
||||
XKB_CACHE_OUTDATED="0"
|
||||
else
|
||||
info_msg "Cache key '$XKB_CACHE_KEY_FOUND' does not match '$XKB_CACHE_KEY', rebuilding libxkbcommon"
|
||||
fi
|
||||
fi
|
||||
if [ "$XKB_CACHE_OUTDATED" == "1" ]; then
|
||||
buildXkbCommon
|
||||
sudo echo $XKB_CACHE_KEY > "$XKB_CACHE_FILE"
|
||||
else
|
||||
info_msg "Using cached libxkbcommon"
|
||||
fi
|
||||
}
|
||||
|
||||
buildXkbCommon() {
|
||||
info_msg "Downloading and building libxkbcommon"
|
||||
|
||||
if [ -d "$EXTERNAL/libxkbcommon" ]; then
|
||||
rm -rf "$EXTERNAL/libxkbcommon"
|
||||
fi
|
||||
cd $XKB_PATH
|
||||
rm -rf *
|
||||
|
||||
cd "$EXTERNAL"
|
||||
git clone https://github.com/xkbcommon/libxkbcommon.git
|
||||
|
||||
cd "$EXTERNAL/libxkbcommon"
|
||||
./autogen.sh --prefix=$XKB_PATH
|
||||
make $MAKE_ARGS
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
}
|
||||
|
||||
getRange() {
|
||||
travisStartFold "Getting range-v3"
|
||||
|
||||
local RANGE_CACHE="$CACHE/range-v3"
|
||||
local RANGE_CACHE_FILE="$RANGE_CACHE/.cache.txt"
|
||||
local RANGE_CACHE_KEY="${RANGE_CACHE_VERSION}"
|
||||
local RANGE_CACHE_OUTDATED="1"
|
||||
|
||||
if [ ! -d "$RANGE_CACHE" ]; then
|
||||
mkdir -p "$RANGE_CACHE"
|
||||
fi
|
||||
|
||||
ln -sf "$RANGE_CACHE" "$RANGE_PATH"
|
||||
|
||||
if [ -f "$RANGE_CACHE_FILE" ]; then
|
||||
local RANGE_CACHE_KEY_FOUND=`tail -n 1 $RANGE_CACHE_FILE`
|
||||
if [ "$RANGE_CACHE_KEY" == "$RANGE_CACHE_KEY_FOUND" ]; then
|
||||
RANGE_CACHE_OUTDATED="0"
|
||||
else
|
||||
info_msg "Cache key '$RANGE_CACHE_KEY_FOUND' does not match '$RANGE_CACHE_KEY', getting range-v3"
|
||||
fi
|
||||
fi
|
||||
if [ "$RANGE_CACHE_OUTDATED" == "1" ]; then
|
||||
buildRange
|
||||
sudo echo $RANGE_CACHE_KEY > "$RANGE_CACHE_FILE"
|
||||
else
|
||||
info_msg "Using cached range-v3"
|
||||
fi
|
||||
}
|
||||
|
||||
buildRange() {
|
||||
info_msg "Downloading range-v3"
|
||||
|
||||
if [ -d "$EXTERNAL/range-v3" ]; then
|
||||
rm -rf "$EXTERNAL/range-v3"
|
||||
fi
|
||||
cd $RANGE_PATH
|
||||
rm -rf *
|
||||
|
||||
cd "$EXTERNAL"
|
||||
git clone --depth=1 https://github.com/ericniebler/range-v3
|
||||
|
||||
cd "$EXTERNAL/range-v3"
|
||||
cp -r * "$RANGE_PATH/"
|
||||
}
|
||||
|
||||
getVa() {
|
||||
travisStartFold "Getting libva"
|
||||
|
||||
local VA_CACHE="$CACHE/libva"
|
||||
local VA_CACHE_FILE="$VA_CACHE/.cache.txt"
|
||||
local VA_CACHE_KEY="${VA_CACHE_VERSION}"
|
||||
local VA_CACHE_OUTDATED="1"
|
||||
|
||||
if [ ! -d "$VA_CACHE" ]; then
|
||||
mkdir -p "$VA_CACHE"
|
||||
fi
|
||||
|
||||
ln -sf "$VA_CACHE" "$VA_PATH"
|
||||
|
||||
if [ -f "$VA_CACHE_FILE" ]; then
|
||||
local VA_CACHE_KEY_FOUND=`tail -n 1 $VA_CACHE_FILE`
|
||||
if [ "$VA_CACHE_KEY" == "$VA_CACHE_KEY_FOUND" ]; then
|
||||
VA_CACHE_OUTDATED="0"
|
||||
else
|
||||
info_msg "Cache key '$VA_CACHE_KEY_FOUND' does not match '$VA_CACHE_KEY', rebuilding libva"
|
||||
fi
|
||||
fi
|
||||
if [ "$VA_CACHE_OUTDATED" == "1" ]; then
|
||||
buildVa
|
||||
sudo echo $VA_CACHE_KEY > "$VA_CACHE_FILE"
|
||||
else
|
||||
info_msg "Using cached libva"
|
||||
fi
|
||||
}
|
||||
|
||||
buildVa() {
|
||||
info_msg "Downloading and building libva"
|
||||
|
||||
if [ -d "$EXTERNAL/libva" ]; then
|
||||
rm -rf "$EXTERNAL/libva"
|
||||
fi
|
||||
cd $VA_PATH
|
||||
rm -rf *
|
||||
|
||||
cd "$EXTERNAL"
|
||||
git clone https://github.com/01org/libva
|
||||
|
||||
cd "$EXTERNAL/libva"
|
||||
./autogen.sh --prefix=$VA_PATH --enable-static
|
||||
make $MAKE_ARGS
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
}
|
||||
|
||||
getVdpau() {
|
||||
travisStartFold "Getting libvdpau"
|
||||
|
||||
local VDPAU_CACHE="$CACHE/libvdpau"
|
||||
local VDPAU_CACHE_FILE="$VDPAU_CACHE/.cache.txt"
|
||||
local VDPAU_CACHE_KEY="${VDPAU_CACHE_VERSION}"
|
||||
local VDPAU_CACHE_OUTDATED="1"
|
||||
|
||||
if [ ! -d "$VDPAU_CACHE" ]; then
|
||||
mkdir -p "$VDPAU_CACHE"
|
||||
fi
|
||||
|
||||
ln -sf "$VDPAU_CACHE" "$VDPAU_PATH"
|
||||
|
||||
if [ -f "$VDPAU_CACHE_FILE" ]; then
|
||||
local VDPAU_CACHE_KEY_FOUND=`tail -n 1 $VDPAU_CACHE_FILE`
|
||||
if [ "$VDPAU_CACHE_KEY" == "$VDPAU_CACHE_KEY_FOUND" ]; then
|
||||
VDPAU_CACHE_OUTDATED="0"
|
||||
else
|
||||
info_msg "Cache key '$VDPAU_CACHE_KEY_FOUND' does not match '$VDPAU_CACHE_KEY', rebuilding libvdpau"
|
||||
fi
|
||||
fi
|
||||
if [ "$VDPAU_CACHE_OUTDATED" == "1" ]; then
|
||||
buildVdpau
|
||||
sudo echo $VDPAU_CACHE_KEY > "$VDPAU_CACHE_FILE"
|
||||
else
|
||||
info_msg "Using cached libvdpau"
|
||||
fi
|
||||
}
|
||||
|
||||
buildVdpau() {
|
||||
info_msg "Downloading and building libvdpau"
|
||||
|
||||
if [ -d "$EXTERNAL/libvdpau" ]; then
|
||||
rm -rf "$EXTERNAL/libvdpau"
|
||||
fi
|
||||
cd $VDPAU_PATH
|
||||
rm -rf *
|
||||
|
||||
cd "$EXTERNAL"
|
||||
git clone git://anongit.freedesktop.org/vdpau/libvdpau
|
||||
|
||||
cd "$EXTERNAL/libvdpau"
|
||||
./autogen.sh --prefix=$VDPAU_PATH --enable-static
|
||||
make $MAKE_ARGS
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
}
|
||||
|
||||
getFFmpeg() {
|
||||
travisStartFold "Getting ffmpeg"
|
||||
|
||||
local FFMPEG_CACHE="$CACHE/ffmpeg"
|
||||
local FFMPEG_CACHE_FILE="$FFMPEG_CACHE/.cache.txt"
|
||||
local FFMPEG_CACHE_KEY="${FFMPEG_CACHE_VERSION}"
|
||||
local FFMPEG_CACHE_OUTDATED="1"
|
||||
|
||||
if [ ! -d "$FFMPEG_CACHE" ]; then
|
||||
mkdir -p "$FFMPEG_CACHE"
|
||||
fi
|
||||
|
||||
ln -sf "$FFMPEG_CACHE" "$FFMPEG_PATH"
|
||||
|
||||
if [ -f "$FFMPEG_CACHE_FILE" ]; then
|
||||
local FFMPEG_CACHE_KEY_FOUND=`tail -n 1 $FFMPEG_CACHE_FILE`
|
||||
if [ "$FFMPEG_CACHE_KEY" == "$FFMPEG_CACHE_KEY_FOUND" ]; then
|
||||
FFMPEG_CACHE_OUTDATED="0"
|
||||
else
|
||||
info_msg "Cache key '$FFMPEG_CACHE_KEY_FOUND' does not match '$FFMPEG_CACHE_KEY', rebuilding ffmpeg"
|
||||
fi
|
||||
fi
|
||||
if [ "$FFMPEG_CACHE_OUTDATED" == "1" ]; then
|
||||
buildFFmpeg
|
||||
sudo echo $FFMPEG_CACHE_KEY > "$FFMPEG_CACHE_FILE"
|
||||
else
|
||||
info_msg "Using cached ffmpeg"
|
||||
fi
|
||||
}
|
||||
|
||||
buildFFmpeg() {
|
||||
info_msg "Downloading and building ffmpeg"
|
||||
|
||||
if [ -d "$EXTERNAL/ffmpeg" ]; then
|
||||
rm -rf "$EXTERNAL/ffmpeg"
|
||||
fi
|
||||
cd $FFMPEG_PATH
|
||||
rm -rf *
|
||||
|
||||
cd "$EXTERNAL"
|
||||
git clone https://git.ffmpeg.org/ffmpeg.git
|
||||
|
||||
cd "$EXTERNAL/ffmpeg"
|
||||
git checkout release/3.4
|
||||
|
||||
./configure \
|
||||
--prefix=$FFMPEG_PATH \
|
||||
--disable-debug \
|
||||
--disable-programs \
|
||||
--disable-doc \
|
||||
--disable-everything \
|
||||
--enable-gpl \
|
||||
--enable-version3 \
|
||||
--enable-libopus \
|
||||
--enable-decoder=aac \
|
||||
--enable-decoder=aac_latm \
|
||||
--enable-decoder=aasc \
|
||||
--enable-decoder=flac \
|
||||
--enable-decoder=gif \
|
||||
--enable-decoder=h264 \
|
||||
--enable-decoder=h264_vdpau \
|
||||
--enable-decoder=mp1 \
|
||||
--enable-decoder=mp1float \
|
||||
--enable-decoder=mp2 \
|
||||
--enable-decoder=mp2float \
|
||||
--enable-decoder=mp3 \
|
||||
--enable-decoder=mp3adu \
|
||||
--enable-decoder=mp3adufloat \
|
||||
--enable-decoder=mp3float \
|
||||
--enable-decoder=mp3on4 \
|
||||
--enable-decoder=mp3on4float \
|
||||
--enable-decoder=mpeg4 \
|
||||
--enable-decoder=mpeg4_vdpau \
|
||||
--enable-decoder=msmpeg4v2 \
|
||||
--enable-decoder=msmpeg4v3 \
|
||||
--enable-decoder=opus \
|
||||
--enable-decoder=vorbis \
|
||||
--enable-decoder=wavpack \
|
||||
--enable-decoder=wmalossless \
|
||||
--enable-decoder=wmapro \
|
||||
--enable-decoder=wmav1 \
|
||||
--enable-decoder=wmav2 \
|
||||
--enable-decoder=wmavoice \
|
||||
--enable-encoder=libopus \
|
||||
--enable-hwaccel=h264_vaapi \
|
||||
--enable-hwaccel=h264_vdpau \
|
||||
--enable-hwaccel=mpeg4_vaapi \
|
||||
--enable-hwaccel=mpeg4_vdpau \
|
||||
--enable-parser=aac \
|
||||
--enable-parser=aac_latm \
|
||||
--enable-parser=flac \
|
||||
--enable-parser=h264 \
|
||||
--enable-parser=mpeg4video \
|
||||
--enable-parser=mpegaudio \
|
||||
--enable-parser=opus \
|
||||
--enable-parser=vorbis \
|
||||
--enable-demuxer=aac \
|
||||
--enable-demuxer=flac \
|
||||
--enable-demuxer=gif \
|
||||
--enable-demuxer=h264 \
|
||||
--enable-demuxer=mov \
|
||||
--enable-demuxer=mp3 \
|
||||
--enable-demuxer=ogg \
|
||||
--enable-demuxer=wav \
|
||||
--enable-muxer=ogg \
|
||||
--enable-muxer=opus
|
||||
make $MAKE_ARGS
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
}
|
||||
|
||||
getOpenAL() {
|
||||
travisStartFold "Getting openal-soft"
|
||||
|
||||
local OPENAL_CACHE="$CACHE/openal-soft"
|
||||
local OPENAL_CACHE_FILE="$OPENAL_CACHE/.cache.txt"
|
||||
local OPENAL_CACHE_KEY="${OPENAL_CACHE_VERSION}"
|
||||
local OPENAL_CACHE_OUTDATED="1"
|
||||
|
||||
if [ ! -d "$OPENAL_CACHE" ]; then
|
||||
mkdir -p "$OPENAL_CACHE"
|
||||
fi
|
||||
|
||||
ln -sf "$OPENAL_CACHE" "$OPENAL_PATH"
|
||||
|
||||
if [ -f "$OPENAL_CACHE_FILE" ]; then
|
||||
local OPENAL_CACHE_KEY_FOUND=`tail -n 1 $OPENAL_CACHE_FILE`
|
||||
if [ "$OPENAL_CACHE_KEY" == "$OPENAL_CACHE_KEY_FOUND" ]; then
|
||||
OPENAL_CACHE_OUTDATED="0"
|
||||
else
|
||||
info_msg "Cache key '$OPENAL_CACHE_KEY_FOUND' does not match '$OPENAL_CACHE_KEY', rebuilding openal-soft"
|
||||
fi
|
||||
fi
|
||||
if [ "$OPENAL_CACHE_OUTDATED" == "1" ]; then
|
||||
buildOpenAL
|
||||
sudo echo $OPENAL_CACHE_KEY > "$OPENAL_CACHE_FILE"
|
||||
else
|
||||
info_msg "Using cached openal-soft"
|
||||
fi
|
||||
}
|
||||
|
||||
buildOpenAL() {
|
||||
info_msg "Downloading and building openal-soft"
|
||||
|
||||
if [ -d "$EXTERNAL/openal-soft" ]; then
|
||||
rm -rf "$EXTERNAL/openal-soft"
|
||||
fi
|
||||
cd $OPENAL_PATH
|
||||
rm -rf *
|
||||
|
||||
cd "$EXTERNAL"
|
||||
git clone https://github.com/kcat/openal-soft.git
|
||||
|
||||
cd "$EXTERNAL/openal-soft/build"
|
||||
cmake \
|
||||
-D CMAKE_INSTALL_PREFIX=$OPENAL_PATH \
|
||||
-D CMAKE_BUILD_TYPE=Release \
|
||||
-D LIBTYPE=STATIC \
|
||||
-D ALSOFT_EXAMPLES=OFF \
|
||||
-D ALSOFT_TESTS=OFF \
|
||||
-D ALSOFT_UTILS=OFF \
|
||||
..
|
||||
make $MAKE_ARGS
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
}
|
||||
|
||||
getBreakpad() {
|
||||
travisStartFold "Getting breakpad"
|
||||
|
||||
local BREAKPAD_CACHE="$CACHE/breakpad"
|
||||
local BREAKPAD_CACHE_FILE="$BREAKPAD_CACHE/.cache.txt"
|
||||
local BREAKPAD_CACHE_KEY="${BREAKPAD_CACHE_VERSION}"
|
||||
local BREAKPAD_CACHE_OUTDATED="1"
|
||||
|
||||
if [ ! -d "$BREAKPAD_CACHE" ]; then
|
||||
mkdir -p "$BREAKPAD_CACHE"
|
||||
fi
|
||||
|
||||
ln -sf "$BREAKPAD_CACHE" "$BREAKPAD_PATH"
|
||||
|
||||
if [ -f "$BREAKPAD_CACHE_FILE" ]; then
|
||||
local BREAKPAD_CACHE_KEY_FOUND=`tail -n 1 $BREAKPAD_CACHE_FILE`
|
||||
if [ "$BREAKPAD_CACHE_KEY" == "$BREAKPAD_CACHE_KEY_FOUND" ]; then
|
||||
BREAKPAD_CACHE_OUTDATED="0"
|
||||
else
|
||||
info_msg "Cache key '$BREAKPAD_CACHE_KEY_FOUND' does not match '$BREAKPAD_CACHE_KEY', rebuilding breakpad"
|
||||
fi
|
||||
fi
|
||||
if [ "$BREAKPAD_CACHE_OUTDATED" == "1" ]; then
|
||||
buildBreakpad
|
||||
sudo echo $BREAKPAD_CACHE_KEY > "$BREAKPAD_CACHE_FILE"
|
||||
else
|
||||
info_msg "Using cached breakpad"
|
||||
fi
|
||||
}
|
||||
|
||||
buildBreakpad() {
|
||||
info_msg "Downloading and building breakpad"
|
||||
|
||||
if [ -d "$EXTERNAL/breakpad" ]; then
|
||||
rm -rf "$EXTERNAL/breakpad"
|
||||
fi
|
||||
cd $BREAKPAD_PATH
|
||||
rm -rf *
|
||||
|
||||
cd "$EXTERNAL"
|
||||
git clone https://chromium.googlesource.com/breakpad/breakpad
|
||||
|
||||
cd "$EXTERNAL/breakpad/src/third_party"
|
||||
git clone https://chromium.googlesource.com/linux-syscall-support lss
|
||||
|
||||
cd "$EXTERNAL/breakpad"
|
||||
./configure --prefix=$BREAKPAD_PATH
|
||||
make $MAKE_ARGS
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
}
|
||||
|
||||
getCustomQt() {
|
||||
travisStartFold "Getting patched Qt"
|
||||
|
||||
local QT_CACHE="$CACHE/qtPatched"
|
||||
local QT_CACHE_FILE="$QT_CACHE/.cache.txt"
|
||||
local QT_PATCH_CHECKSUM=`sha1sum $QT_PATCH`
|
||||
local QT_CACHE_KEY="${QT_VERSION}_${QT_CACHE_VERSION}_${QT_PATCH_CHECKSUM:0:32}"
|
||||
local QT_CACHE_OUTDATED="1"
|
||||
|
||||
if [ ! -d "$QT_CACHE" ]; then
|
||||
mkdir -p "$QT_CACHE"
|
||||
fi
|
||||
|
||||
ln -sf "$QT_CACHE" "$QT_PATH"
|
||||
|
||||
if [ -f "$QT_CACHE_FILE" ]; then
|
||||
local QT_CACHE_KEY_FOUND=`tail -n 1 $QT_CACHE_FILE`
|
||||
if [ "$QT_CACHE_KEY" == "$QT_CACHE_KEY_FOUND" ]; then
|
||||
QT_CACHE_OUTDATED="0"
|
||||
else
|
||||
info_msg "Cache key '$QT_CACHE_KEY_FOUND' does not match '$QT_CACHE_KEY', rebuilding patched Qt"
|
||||
fi
|
||||
fi
|
||||
if [ "$QT_CACHE_OUTDATED" == "1" ]; then
|
||||
buildCustomQt
|
||||
sudo echo $QT_CACHE_KEY > "$QT_CACHE_FILE"
|
||||
else
|
||||
info_msg "Using cached patched Qt"
|
||||
fi
|
||||
|
||||
export PATH="$QT_PATH/bin:$PATH"
|
||||
}
|
||||
|
||||
buildCustomQt() {
|
||||
QT_WAS_BUILT="1"
|
||||
info_msg "Downloading and building patched qt"
|
||||
|
||||
if [ -d "$EXTERNAL/qt${QT_VERSION}" ]; then
|
||||
sudo rm -rf "$EXTERNAL/qt${QT_VERSION}"
|
||||
fi
|
||||
cd $QT_PATH
|
||||
sudo rm -rf *
|
||||
|
||||
cd "$EXTERNAL"
|
||||
git clone git://code.qt.io/qt/qt5.git qt${QT_VERSION}
|
||||
|
||||
cd "$EXTERNAL/qt${QT_VERSION}"
|
||||
perl init-repository --branch --module-subset=qtbase,qtimageformats
|
||||
git checkout v${QT_VERSION}
|
||||
cd qtbase && git checkout v${QT_VERSION} && cd ..
|
||||
cd qtimageformats && git checkout v${QT_VERSION} && cd ..
|
||||
|
||||
cd "$EXTERNAL/qt${QT_VERSION}/qtbase"
|
||||
git apply "$QT_PATCH"
|
||||
cd ..
|
||||
|
||||
cd "$EXTERNAL/qt${QT_VERSION}/qtbase/src/plugins/platforminputcontexts"
|
||||
git clone https://github.com/telegramdesktop/fcitx.git
|
||||
git clone https://github.com/telegramdesktop/hime.git
|
||||
cd ../../../..
|
||||
|
||||
./configure -prefix $QT_PATH -release -opensource -confirm-license -qt-zlib \
|
||||
-qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -qt-pcre -qt-xcb \
|
||||
-qt-xkbcommon-x11 -no-opengl -no-gtkstyle -static \
|
||||
-nomake examples -nomake tests -no-mirclient \
|
||||
-dbus-runtime -no-gstreamer -no-mtdev # <- Not sure about these
|
||||
make $MAKE_ARGS
|
||||
sudo make install
|
||||
}
|
||||
|
||||
getGSL() {
|
||||
cd "$UPSTREAM"
|
||||
git submodule init
|
||||
git submodule update
|
||||
}
|
||||
|
||||
getGYP() {
|
||||
travisStartFold "Getting patched GYP"
|
||||
|
||||
local GYP_CACHE="$CACHE/gyp"
|
||||
local GYP_CACHE_FILE="$GYP_CACHE/.cache.txt"
|
||||
local GYP_PATCH_CHECKSUM=`sha1sum $GYP_PATCH`
|
||||
local GYP_CACHE_KEY="${GYP_CACHE_VERSION}_${GYP_PATCH_CHECKSUM:0:32}"
|
||||
local GYP_CACHE_OUTDATED="1"
|
||||
|
||||
if [ ! -d "$GYP_CACHE" ]; then
|
||||
mkdir -p "$GYP_CACHE"
|
||||
fi
|
||||
|
||||
ln -sf "$GYP_CACHE" "$GYP_PATH"
|
||||
|
||||
if [ -f "$GYP_CACHE_FILE" ]; then
|
||||
local GYP_CACHE_KEY_FOUND=`tail -n 1 $GYP_CACHE_FILE`
|
||||
if [ "$GYP_CACHE_KEY" == "$GYP_CACHE_KEY_FOUND" ]; then
|
||||
GYP_CACHE_OUTDATED="0"
|
||||
else
|
||||
info_msg "Cache key '$GYP_CACHE_KEY_FOUND' does not match '$GYP_CACHE_KEY', rebuilding patched GYP"
|
||||
fi
|
||||
fi
|
||||
if [ "$GYP_CACHE_OUTDATED" == "1" ]; then
|
||||
buildGYP
|
||||
sudo echo $GYP_CACHE_KEY > "$GYP_CACHE_FILE"
|
||||
else
|
||||
info_msg "Using cached patched GYP"
|
||||
fi
|
||||
}
|
||||
|
||||
buildGYP() {
|
||||
info_msg "Downloading and building patched GYP"
|
||||
|
||||
if [ -d "$EXTERNAL/gyp" ]; then
|
||||
rm -rf "$EXTERNAL/gyp"
|
||||
fi
|
||||
cd $GYP_PATH
|
||||
rm -rf *
|
||||
|
||||
cd "$EXTERNAL"
|
||||
git clone https://chromium.googlesource.com/external/gyp
|
||||
|
||||
cd "$EXTERNAL/gyp"
|
||||
git checkout 702ac58e47
|
||||
git apply "$GYP_PATCH"
|
||||
cp -r * "$GYP_PATH/"
|
||||
}
|
||||
|
||||
buildTelegram() {
|
||||
travisStartFold "Build tdesktop"
|
||||
|
||||
cd "$UPSTREAM/Telegram/gyp"
|
||||
"$GYP_PATH/gyp" \
|
||||
-Dbuild_defines=${GYP_DEFINES:1} \
|
||||
-Dlinux_path_xkbcommon=$XKB_PATH \
|
||||
-Dlinux_path_va=$VA_PATH \
|
||||
-Dlinux_path_vdpau=$VDPAU_PATH \
|
||||
-Dlinux_path_ffmpeg=$FFMPEG_PATH \
|
||||
-Dlinux_path_openal=$OPENAL_PATH \
|
||||
-Dlinux_path_range=$RANGE_PATH \
|
||||
-Dlinux_path_qt=$QT_PATH \
|
||||
-Dlinux_path_breakpad=$BREAKPAD_PATH \
|
||||
-Dlinux_path_libexif_lib=/usr/local/lib \
|
||||
-Dlinux_path_opus_include=/usr/include/opus \
|
||||
-Dlinux_lib_ssl=-lssl \
|
||||
-Dlinux_lib_crypto=-lcrypto \
|
||||
-Dlinux_lib_icu=-licuuc\ -licutu\ -licui18n \
|
||||
--depth=. --generator-output=.. --format=cmake -Goutput_dir=../out \
|
||||
Telegram.gyp
|
||||
cd "$UPSTREAM/out/Debug"
|
||||
|
||||
export ASM="gcc"
|
||||
cmake .
|
||||
make $MAKE_ARGS
|
||||
}
|
||||
|
||||
check() {
|
||||
local filePath="$UPSTREAM/out/Debug/Telegram"
|
||||
if test -f "$filePath"; then
|
||||
success_msg "Build successfully done! :)"
|
||||
|
||||
local size;
|
||||
size=$(stat -c %s "$filePath")
|
||||
success_msg "File size of ${filePath}: ${size} Bytes"
|
||||
else
|
||||
error_msg "Build error, output file does not exist"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
source ./.travis/common.sh
|
||||
|
||||
run
|
||||
64
.travis/common.sh
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
# set colors
|
||||
RCol='\e[0m' # Text Reset
|
||||
|
||||
# Regular Bold Underline High Intensity BoldHigh Intens Background High Intensity Backgrounds
|
||||
Bla='\e[0;30m'; BBla='\e[1;30m'; UBla='\e[4;30m'; IBla='\e[0;90m'; BIBla='\e[1;90m'; On_Bla='\e[40m'; On_IBla='\e[0;100m';
|
||||
Red='\e[0;31m'; BRed='\e[1;31m'; URed='\e[4;31m'; IRed='\e[0;91m'; BIRed='\e[1;91m'; On_Red='\e[41m'; On_IRed='\e[0;101m';
|
||||
Gre='\e[0;32m'; BGre='\e[1;32m'; UGre='\e[4;32m'; IGre='\e[0;92m'; BIGre='\e[1;92m'; On_Gre='\e[42m'; On_IGre='\e[0;102m';
|
||||
Yel='\e[0;33m'; BYel='\e[1;33m'; UYel='\e[4;33m'; IYel='\e[0;93m'; BIYel='\e[1;93m'; On_Yel='\e[43m'; On_IYel='\e[0;103m';
|
||||
Blu='\e[0;34m'; BBlu='\e[1;34m'; UBlu='\e[4;34m'; IBlu='\e[0;94m'; BIBlu='\e[1;94m'; On_Blu='\e[44m'; On_IBlu='\e[0;104m';
|
||||
Pur='\e[0;35m'; BPur='\e[1;35m'; UPur='\e[4;35m'; IPur='\e[0;95m'; BIPur='\e[1;95m'; On_Pur='\e[45m'; On_IPur='\e[0;105m';
|
||||
Cya='\e[0;36m'; BCya='\e[1;36m'; UCya='\e[4;36m'; ICya='\e[0;96m'; BICya='\e[1;96m'; On_Cya='\e[46m'; On_ICya='\e[0;106m';
|
||||
Whi='\e[0;37m'; BWhi='\e[1;37m'; UWhi='\e[4;37m'; IWhi='\e[0;97m'; BIWhi='\e[1;97m'; On_Whi='\e[47m'; On_IWhi='\e[0;107m';
|
||||
|
||||
start_msg() {
|
||||
echo -e "\n${Gre}$*${RCol}"
|
||||
}
|
||||
|
||||
info_msg() {
|
||||
sameLineInfoMessage "\n$1"
|
||||
}
|
||||
|
||||
error_msg() {
|
||||
echo -e "\n${BRed}$*${RCol}"
|
||||
}
|
||||
|
||||
success_msg() {
|
||||
echo -e "\n${BGre}$*${RCol}"
|
||||
}
|
||||
|
||||
sameLineInfoMessage() {
|
||||
echo -e "${Cya}$*${RCol}"
|
||||
}
|
||||
|
||||
TRAVIS_LAST_FOLD=""
|
||||
|
||||
travisStartFold() {
|
||||
local TITLE="$1"
|
||||
local NAME=$(sanitizeName "$TITLE")
|
||||
|
||||
if [ "$TRAVIS_LAST_FOLD" != "" ]; then
|
||||
travisEndFold
|
||||
fi
|
||||
|
||||
echo "travis_fold:start:$NAME"
|
||||
sameLineInfoMessage "$TITLE"
|
||||
|
||||
TRAVIS_LAST_FOLD="$NAME"
|
||||
}
|
||||
|
||||
travisEndFold() {
|
||||
if [ "$TRAVIS_LAST_FOLD" == "" ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
echo "travis_fold:end:$TRAVIS_LAST_FOLD"
|
||||
TRAVIS_LAST_FOLD=""
|
||||
}
|
||||
|
||||
sanitizeName() {
|
||||
local NAME="${1// /_}"
|
||||
local NAME="${NAME,,}"
|
||||
echo "$NAME"
|
||||
}
|
||||
21
LEGAL
Normal file
@@ -0,0 +1,21 @@
|
||||
This file is part of Telegram Desktop,
|
||||
the official desktop application for the Telegram messaging service.
|
||||
|
||||
Copyright (c) 2014-2018 John Preston, https://desktop.telegram.org
|
||||
|
||||
Telegram Desktop is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
It is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
In addition, as a special exception, the copyright holders give permission
|
||||
to link the code of portions of this program with the OpenSSL library.
|
||||
|
||||
More information about the Telegram project: https://telegram.org
|
||||
|
||||
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
|
||||
18
LICENSE
@@ -1,4 +1,18 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Telegram Desktop is licensed under the GNU General Public License
|
||||
version 3 with the addition of the following special exception:
|
||||
|
||||
In addition, as a special exception, the copyright holders give
|
||||
permission to link the code of portions of this program with the OpenSSL
|
||||
library.
|
||||
|
||||
You must obey the GNU General Public License in all respects for all of
|
||||
the code used other than OpenSSL. If you modify file(s) with this
|
||||
exception, you may extend this exception to your version of the file(s),
|
||||
but you are not obligated to do so. If you do not wish to do so, delete
|
||||
this exception statement from your version. If you delete this exception
|
||||
statement from all source files in the program, then also delete it here.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
@@ -671,4 +685,4 @@ into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
||||
|
||||
258
README.md
@@ -1,198 +1,60 @@
|
||||
## [Telegram D](https://tdesktop.com) – Unofficial Telegram Desktop App
|
||||
|
||||
This is complete source code and build instructions for alpha version of unofficial desktop client for [Telegram](https://telegram.org) messenger, based on [Telegram API](https://core.telegram.org/) and [MTProto](https://core.telegram.org/mtproto) secure protocol.
|
||||
|
||||
###Supported systems
|
||||
|
||||
Only Windows systems are supported at this moment, OS X and Linux builds are on their way.
|
||||
|
||||
* Windows XP
|
||||
* Windows Vista
|
||||
* Windows 7
|
||||
* Windows 8 (**not** RT)
|
||||
* Windows 8.1 (**not** RT)
|
||||
|
||||
###Third-party libraries
|
||||
|
||||
* Qt 5.3.0, slightly patched
|
||||
* OpenSSL 1.0.1g
|
||||
* zlib 1.2.8
|
||||
* libexif 0.6.20
|
||||
* LZMA SDK 9.20
|
||||
|
||||
##Build instructions for Visual Studio 2013
|
||||
|
||||
###Prepare folder
|
||||
|
||||
Choose a folder for the future build, for example **D:\TBuild\**. There you will have two folders, **Libraries** for third-party libs and **tdesktop** (or **tdesktop-master**) for the app.
|
||||
|
||||
###Clone source code
|
||||
|
||||
By git – in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild** and run
|
||||
|
||||
git clone https://github.com/telegramdesktop/tdesktop.git
|
||||
|
||||
or download in ZIP and extract to **D:\TBuild\**, rename **tdesktop-master** to **tdesktop** to have **D:\TBuild\tdesktop\Telegram.sln** solution
|
||||
|
||||
###Prepare libraries
|
||||
|
||||
####OpenSSL 1.0.1g
|
||||
|
||||
https://www.openssl.org/related/binaries.html > **OpenSSL for Windows** > Download [**Win32 OpenSSL v1.0.1g** (16 Mb)](http://slproweb.com/download/Win32OpenSSL-1_0_1g.exe)
|
||||
|
||||
Install to **D:\TBuild\Libraries\OpenSSL-Win32**, while installing **Copy OpenSSL DLLs to** choose **The OpenSSL binaries (/bin) directory**
|
||||
|
||||
####LZMA SDK 9.20
|
||||
|
||||
http://www.7-zip.org/sdk.html > Download [**LZMA SDK (C, C++, C#, Java)** 9.20](http://downloads.sourceforge.net/sevenzip/lzma920.tar.bz2)
|
||||
|
||||
Extract to **D:\TBuild\Libraries**
|
||||
|
||||
#####Building library
|
||||
|
||||
* Open in VS2013 **D:\TBuild\Libraries\lzma\C\Util\LzmaLib\LzmaLib.dsw** > One-way upgrade – **OK**
|
||||
* For **Debug** and **Release** configurations
|
||||
* LzmaLib Properties > General > Configuration Type = **Static library (.lib)** – **OK**
|
||||
* LzmaLib Properties > Librarian > General > Target Machine = **MachineX86 (/MACHINE:X86)** – **OK**
|
||||
* Build Debug configuration
|
||||
* Build Release configuration
|
||||
|
||||
####zlib 1.2.8
|
||||
|
||||
http://www.zlib.net/ > Download [**zlib source code, version 1.2.8, zipfile format**](http://zlib.net/zlib128.zip)
|
||||
|
||||
Extract to **D:\TBuild\Libraries\**
|
||||
|
||||
#####Building library
|
||||
|
||||
* Open in VS2013 **D:\TBuild\Libraries\zlib-1.2.8\contrib\vstudio\vc11\zlibvc.sln** > One-way upgrade – **OK**
|
||||
* We are interested only in **zlibstat** project, but it depends on some custom pre-build step, so build all
|
||||
* For **Debug** configuration
|
||||
* zlibstat Properties > C/C++ > Code Generation > Runtime Library = **Multi-threaded Debug (/MTd)** – **OK**
|
||||
* For **Release** configuration
|
||||
* zlibstat Properties > C/C++ > Code Generation > Runtime Library = **Multi-threaded (/MT)** – **OK**
|
||||
* Build Solution for Debug configuration – only **zlibstat** project builds successfully
|
||||
* Build Solution for Release configuration – only **zlibstat** project builds successfully
|
||||
|
||||
####libexif 0.6.20
|
||||
|
||||
Get sources from https://github.com/telegramdesktop/libexif-0.6.20, by git – in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild/libraries** and run
|
||||
|
||||
git clone https://github.com/telegramdesktop/libexif-0.6.20.git
|
||||
|
||||
or download in ZIP and extract to **D:\TBuild\Libraries\**, rename **libexif-0.6.20-master** to **libexif-0.6.20** to have **D:\TBuild\Libraries\libexif-0.6.20\win32\lib_exif.sln** solution
|
||||
|
||||
#####Building library
|
||||
|
||||
* Open in VS2013 **D:\TBuild\Libraries\libexif-0.6.20\win32\lib_exif.sln**
|
||||
* Build Debug configuration
|
||||
* Build Release configuration
|
||||
|
||||
####Qt 5.3.0, slightly patched
|
||||
|
||||
http://download.qt-project.org/official_releases/qt/5.3/5.3.0/single/qt-everywhere-opensource-src-5.3.0.zip
|
||||
|
||||
Extract to **D:\TBuild\Libraries\**, rename **qt-everywhere-opensource-src-5.3.0** to **QtStatic** to have **D:\TBuild\Libraries\QtStatic\qtbase\** folder
|
||||
|
||||
Apply patch – copy (with overwrite!) everything from **D:\TBuild\tdesktop\\\_qt\_5\_3\_0\_patch\** to **D:\TBuild\Libraries\QtStatic\**
|
||||
|
||||
#####Building library
|
||||
|
||||
* Install Python 3.3.2 from https://www.python.org/download/releases/3.3.2 > [**Windows x86 MSI Installer (3.3.2)**](https://www.python.org/ftp/python/3.3.2/python-3.3.2.msi)
|
||||
* Open **VS2013 x86 Native Tools Command Prompt.bat** (should be in **\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts\** folder)
|
||||
|
||||
There go to Qt directory
|
||||
|
||||
D:
|
||||
cd TBuild\Libraries\QtStatic
|
||||
|
||||
and after that run configure
|
||||
|
||||
configure -debug-and-release -opensource -static -opengl desktop -mp -nomake examples -platform win32-msvc2013
|
||||
y
|
||||
|
||||
to configure Qt build. After configuration is complete run
|
||||
|
||||
nmake
|
||||
nmake install
|
||||
|
||||
building (**nmake** command) will take really long time.
|
||||
|
||||
####Qt Visual Studio Addin 1.2.3
|
||||
|
||||
http://download.qt-project.org/official_releases/vsaddin/qt-vs-addin-1.2.3-opensource.exe
|
||||
|
||||
Close all VS2013 instances and install to default location
|
||||
|
||||
###Building Telegram Desktop
|
||||
|
||||
* Launch VS2013 for configuring Qt Addin
|
||||
* QT5 > Qt Options > Add
|
||||
* Version name: **QtStatic.5.3.0**
|
||||
* Path: **D:\TBuild\Libraries\QtStatic\qtbase**
|
||||
* Default Qt/Win version: **QtStatic.5.3.0** – **OK**
|
||||
* File > Open > Project/Solution > **D:\TBuild\tdesktop\Telegram.sln**
|
||||
* Build \ Build Solution (Debug and Release configurations)
|
||||
|
||||
##Projects in Telegram solution
|
||||
|
||||
####Telegram
|
||||
|
||||
tdesktop messenger
|
||||
|
||||
####Updater
|
||||
|
||||
little app, that is launched by Telegram when update is ready, replaces all files and launches it back
|
||||
|
||||
####Packer
|
||||
|
||||
compiles given files to single update file, compresses it with lzma and signs with a private key, it was not included to Telegram solution, because private key is inaccessible
|
||||
|
||||
####Prepare
|
||||
|
||||
prepares a release for deployment, puts all files to deploy/{version} folder
|
||||
* current tsetup{version}exe installer
|
||||
* current Telegram.exe
|
||||
* current Telegram.pdb (debug info for crash minidumps view)
|
||||
* current tupdate{updversion} binary lzma update archive
|
||||
|
||||
####MetaEmoji
|
||||
|
||||
from two folders
|
||||
* SourceFiles/art/Emoji
|
||||
* SourceFiles/art/Emoji_200x
|
||||
|
||||
and some inner config creates four sprites and text2emoji replace code
|
||||
* SourceFiles/art/emoji.png
|
||||
* SourceFiles/art/emoji_125x.png
|
||||
* SourceFiles/art/emoji_150x.png
|
||||
* SourceFiles/art/emoji_200x.png
|
||||
* SourceFiles/gui/emoji_config.cpp
|
||||
|
||||
####MetaStyle
|
||||
|
||||
from two files and two sprites
|
||||
* Resources/style_classes.txt
|
||||
* Resources/style.txt
|
||||
* SourceFiles/art/sprite.png
|
||||
* SourceFiles/art/sprite_200x.png
|
||||
|
||||
creates two other sprites, four sprite grids and style constants code
|
||||
* SourceFiles/art/sprite_125x.png
|
||||
* SourceFiles/art/sprite_150x.png
|
||||
* SourceFiles/art/grid.png
|
||||
* SourceFiles/art/grid_125x.png
|
||||
* SourceFiles/art/grid_150x.png
|
||||
* SourceFiles/art/grid_200x.png
|
||||
* GeneratedFiles/style_classes.h
|
||||
* GeneratedFiles/style_auto.h
|
||||
* GeneratedFiles/style_auto.cpp
|
||||
|
||||
####MetaLang
|
||||
|
||||
from langpack file
|
||||
* Resources/lang.txt
|
||||
|
||||
creates lang constants code and lang file parse code
|
||||
* GeneratedFiles/lang.h
|
||||
* GeneratedFiles/lang.cpp
|
||||
# [Telegram Desktop][telegram_desktop] – Official Messenger
|
||||
|
||||
This is the complete source code and the build instructions for the alpha version of the official desktop client for the [Telegram][telegram] messenger, based on the [Telegram API][telegram_api] and the [MTProto][telegram_proto] secure protocol.
|
||||
|
||||
[](https://github.com/telegramdesktop/tdesktop/releases)
|
||||
[](https://travis-ci.org/telegramdesktop/tdesktop)
|
||||
[](https://ci.appveyor.com/project/telegramdesktop/tdesktop)
|
||||
|
||||
[![Preview of Telegram Desktop][preview_image]][preview_image_url]
|
||||
|
||||
The source code is published under GPLv3 with OpenSSL exception, the license is available [here][license].
|
||||
|
||||
## Supported systems
|
||||
|
||||
* Windows XP - Windows 10 (**not** RT)
|
||||
* Mac OS X 10.8 - Mac OS X 10.11
|
||||
* Mac OS X 10.6 - Mac OS X 10.7 (separate build)
|
||||
* Ubuntu 12.04 - Ubuntu 18.04
|
||||
* Fedora 22 - Fedora 24
|
||||
|
||||
## Third-party
|
||||
|
||||
* Qt 5.3.2 and 5.6.2, slightly patched ([LGPL](http://doc.qt.io/qt-5/lgpl.html))
|
||||
* OpenSSL 1.0.1g ([OpenSSL License](https://www.openssl.org/source/license.html))
|
||||
* zlib 1.2.8 ([zlib License](http://www.zlib.net/zlib_license.html))
|
||||
* libexif 0.6.20 ([LGPL](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html))
|
||||
* LZMA SDK 9.20 ([public domain](http://www.7-zip.org/sdk.html))
|
||||
* liblzma ([public domain](http://tukaani.org/xz/))
|
||||
* Google Breakpad ([License](https://chromium.googlesource.com/breakpad/breakpad/+/master/LICENSE))
|
||||
* Google Crashpad ([Apache License 2.0](https://chromium.googlesource.com/crashpad/crashpad/+/master/LICENSE))
|
||||
* GYP ([BSD License](https://github.com/bnoordhuis/gyp/blob/master/LICENSE))
|
||||
* Ninja ([Apache License 2.0](https://github.com/ninja-build/ninja/blob/master/COPYING))
|
||||
* OpenAL Soft ([LGPL](http://kcat.strangesoft.net/openal.html))
|
||||
* Opus codec ([BSD License](http://www.opus-codec.org/license/))
|
||||
* FFmpeg ([LGPL](https://www.ffmpeg.org/legal.html))
|
||||
* Guideline Support Library ([MIT License](https://github.com/Microsoft/GSL/blob/master/LICENSE))
|
||||
* Mapbox Variant ([BSD License](https://github.com/mapbox/variant/blob/master/LICENSE))
|
||||
* Range-v3 ([Boost License](https://github.com/ericniebler/range-v3/blob/master/LICENSE.txt))
|
||||
* Open Sans font ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html))
|
||||
* Emoji alpha codes ([MIT License](https://github.com/emojione/emojione/blob/master/extras/alpha-codes/LICENSE.md))
|
||||
* Catch test framework ([Boost License](https://github.com/philsquared/Catch/blob/master/LICENSE.txt))
|
||||
|
||||
## Build instructions
|
||||
|
||||
* [Visual Studio 2017][msvc]
|
||||
* [Xcode 9][xcode]
|
||||
* [GYP/CMake on GNU/Linux][cmake]
|
||||
|
||||
[//]: # (LINKS)
|
||||
[telegram]: https://telegram.org
|
||||
[telegram_desktop]: https://desktop.telegram.org
|
||||
[telegram_api]: https://core.telegram.org
|
||||
[telegram_proto]: https://core.telegram.org/mtproto
|
||||
[license]: LICENSE
|
||||
[msvc]: docs/building-msvc.md
|
||||
[xcode]: docs/building-xcode.md
|
||||
[xcode_old]: docs/building-xcode-old.md
|
||||
[cmake]: docs/building-cmake.md
|
||||
[preview_image]: https://github.com/telegramdesktop/tdesktop/blob/dev/docs/assets/preview.png "Preview of Telegram Desktop"
|
||||
[preview_image_url]: https://raw.githubusercontent.com/telegramdesktop/tdesktop/dev/docs/assets/preview.png
|
||||
|
||||
103
Telegram.sln
@@ -1,103 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.30110.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Telegram", "Telegram\Telegram.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0} = {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}
|
||||
{E417CAA4-259B-4C99-88E3-805F1300E8EB} = {E417CAA4-259B-4C99-88E3-805F1300E8EB}
|
||||
{EB7D16AC-EACF-4577-B05A-F28E5F356794} = {EB7D16AC-EACF-4577-B05A-F28E5F356794}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MetaStyle", "Telegram\MetaStyle.vcxproj", "{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MetaEmoji", "Telegram\MetaEmoji.vcxproj", "{EB7D16AC-EACF-4577-B05A-F28E5F356794}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Updater", "Telegram\Updater.vcxproj", "{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Prepare", "Telegram\Prepare.vcxproj", "{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MetaLang", "Telegram\MetaLang.vcxproj", "{E417CAA4-259B-4C99-88E3-805F1300E8EB}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2F863EAD-33C9-4014-A573-93F085BA9CB1}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Packer", "Telegram\Packer.vcxproj", "{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Deploy|Win32 = Deploy|Win32
|
||||
Deploy|x64 = Deploy|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.Deploy.0 = Debug|Win32
|
||||
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{B12702AD-ABFB-343A-A199-8E24837244A3}.Deploy|Win32.ActiveCfg = Deploy|Win32
|
||||
{B12702AD-ABFB-343A-A199-8E24837244A3}.Deploy|Win32.Build.0 = Deploy|Win32
|
||||
{B12702AD-ABFB-343A-A199-8E24837244A3}.Deploy|x64.ActiveCfg = Release|Win32
|
||||
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.Build.0 = Release|Win32
|
||||
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|Win32
|
||||
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Deploy|Win32.ActiveCfg = Deploy|Win32
|
||||
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Deploy|Win32.Build.0 = Deploy|Win32
|
||||
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Deploy|x64.ActiveCfg = Release|Win32
|
||||
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Release|Win32.Build.0 = Release|Win32
|
||||
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Release|x64.ActiveCfg = Release|Win32
|
||||
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|Win32.ActiveCfg = Deploy|Win32
|
||||
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|Win32.Build.0 = Deploy|Win32
|
||||
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|x64.ActiveCfg = Release|Win32
|
||||
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|Win32.Build.0 = Release|Win32
|
||||
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|x64.ActiveCfg = Release|Win32
|
||||
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Deploy|Win32.ActiveCfg = Deploy|Win32
|
||||
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Deploy|Win32.Build.0 = Deploy|Win32
|
||||
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Deploy|x64.ActiveCfg = Release|Win32
|
||||
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Release|Win32.Build.0 = Release|Win32
|
||||
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Release|x64.ActiveCfg = Release|Win32
|
||||
{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}.Deploy|Win32.ActiveCfg = Deploy|Win32
|
||||
{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}.Deploy|Win32.Build.0 = Deploy|Win32
|
||||
{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}.Deploy|x64.ActiveCfg = Release|Win32
|
||||
{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}.Release|Win32.Build.0 = Release|Win32
|
||||
{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}.Release|x64.ActiveCfg = Release|Win32
|
||||
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Deploy|Win32.ActiveCfg = Deploy|Win32
|
||||
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Deploy|Win32.Build.0 = Deploy|Win32
|
||||
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Deploy|x64.ActiveCfg = Release|Win32
|
||||
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Release|Win32.Build.0 = Release|Win32
|
||||
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Release|x64.ActiveCfg = Release|Win32
|
||||
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Deploy|Win32.ActiveCfg = Deploy|Win32
|
||||
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Deploy|Win32.Build.0 = Deploy|Win32
|
||||
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Deploy|x64.ActiveCfg = Release|Win32
|
||||
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Release|x64.ActiveCfg = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -1,159 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Deploy|Win32">
|
||||
<Configuration>Deploy</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GeneratedFiles\Debug\moc_genemoji.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Deploy\moc_genemoji.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Release\moc_genemoji.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SourceFiles\_other\genemoji.cpp" />
|
||||
<ClCompile Include="SourceFiles\_other\memain.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="SourceFiles\_other\genemoji.h">
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing genemoji.h...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing genemoji.h...</Message>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">Moc%27ing genemoji.h...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
</CustomBuild>
|
||||
<ClInclude Include="SourceFiles\_other\memain.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{EB7D16AC-EACF-4577-B05A-F28E5F356794}</ProjectGuid>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.60610.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Emoji\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateEmoji\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Emoji\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateEmoji\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Emoji\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateEmoji\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;imm32.lib;winmm.lib;qtmaind.lib;glu32.lib;opengl32.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat />
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;glu32.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;glu32.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties UicDir=".\GeneratedFiles" MocDir=".\GeneratedFiles\$(ConfigurationName)" MocOptions="" RccDir=".\GeneratedFiles" lupdateOnBuild="1" lupdateOptions="" lreleaseOptions="" Qt5Version_x0020_Win32="$(DefaultQtVersion)" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
@@ -1,65 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;cxx;c;def</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||
<Extensions>qrc;*</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files">
|
||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||
<Extensions>moc;h;cpp</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Debug">
|
||||
<UniqueIdentifier>{d43dc9f2-202b-4a47-b396-e7e2882cd611}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Release">
|
||||
<UniqueIdentifier>{6a90eef7-d2c6-46bd-8158-a8c5185190a7}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Deploy">
|
||||
<UniqueIdentifier>{c08e3091-0ca0-4fa2-8486-5c07c09c61b2}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SourceFiles\_other\memain.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SourceFiles\_other\genemoji.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Deploy\moc_genemoji.cpp">
|
||||
<Filter>Generated Files\Deploy</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Debug\moc_genemoji.cpp">
|
||||
<Filter>Generated Files\Debug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Release\moc_genemoji.cpp">
|
||||
<Filter>Generated Files\Release</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="SourceFiles\_other\memain.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="SourceFiles\_other\genemoji.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,155 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Deploy|Win32">
|
||||
<Configuration>Deploy</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GeneratedFiles\Debug\moc_genlang.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Deploy\moc_genlang.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Release\moc_genlang.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SourceFiles\_other\genlang.cpp" />
|
||||
<ClCompile Include="SourceFiles\_other\mlmain.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="SourceFiles\_other\genlang.h">
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing genlang.h...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing genlang.h...</Message>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">Moc%27ing genlang.h...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
</CustomBuild>
|
||||
<ClInclude Include="SourceFiles\_other\mlmain.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{E417CAA4-259B-4C99-88E3-805F1300E8EB}</ProjectGuid>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>12.0.21005.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Lang\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateLang\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Lang\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateLang\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Lang\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateLang\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;imm32.lib;winmm.lib;qtmaind.lib;glu32.lib;opengl32.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5Widgetsd.lib;Qt5Networkd.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat />
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" lupdateOptions="" lupdateOnBuild="0" lreleaseOptions="" Qt5Version_x0020_Win32="$(DefaultQtVersion)" MocOptions="" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
@@ -1,65 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;cxx;c;def</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||
<Extensions>qrc;*</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files">
|
||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||
<Extensions>moc;h;cpp</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Debug">
|
||||
<UniqueIdentifier>{3c9f729e-b8c7-4b14-b2df-4a3eda27c074}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Release">
|
||||
<UniqueIdentifier>{3e5a3edb-4328-4310-aec6-a3c6449e1aab}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Deploy">
|
||||
<UniqueIdentifier>{d4eeac1e-52e8-4831-91ff-02e18f58e076}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SourceFiles\_other\mlmain.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SourceFiles\_other\genlang.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Deploy\moc_genlang.cpp">
|
||||
<Filter>Generated Files\Deploy</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Debug\moc_genlang.cpp">
|
||||
<Filter>Generated Files\Debug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Release\moc_genlang.cpp">
|
||||
<Filter>Generated Files\Release</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="SourceFiles\_other\mlmain.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="SourceFiles\_other\genlang.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,177 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Deploy|Win32">
|
||||
<Configuration>Deploy</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\Telegram\SourceFiles\_other\genstyles.cpp" />
|
||||
<ClCompile Include="GeneratedFiles\Debug\moc_genstyles.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Deploy\moc_genstyles.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Release\moc_genstyles.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SourceFiles\_other\msmain.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="SourceFiles\_other\msmain.h">
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</Message>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</Outputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
</Command>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\Telegram\SourceFiles\_other\genstyles.h">
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing genstyles.h...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing genstyles.h...</Message>
|
||||
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">Moc%27ing genstyles.h...</Message>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}</ProjectGuid>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.60610.1</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateMeta\</IntDir>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Meta\</OutDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Meta\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateMeta\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Meta\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateMeta\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;imm32.lib;winmm.lib;qtmaind.lib;glu32.lib;opengl32.lib;Qt5Cored.lib;Qt5Guid.lib;Qt5Widgetsd.lib;Qt5Networkd.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
|
||||
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
|
||||
</Link>
|
||||
<ProjectReference />
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat />
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties UicDir=".\GeneratedFiles" MocDir=".\GeneratedFiles\$(ConfigurationName)" MocOptions="" RccDir=".\GeneratedFiles" lupdateOnBuild="1" lupdateOptions="" lreleaseOptions="" Qt5Version_x0020_Win32="$(DefaultQtVersion)" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
@@ -1,63 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;cxx;c;def</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||
<Extensions>qrc;*</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files">
|
||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||
<Extensions>moc;h;cpp</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Debug">
|
||||
<UniqueIdentifier>{1ace0630-c46a-4299-a4c3-d155a4cb04bb}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Release">
|
||||
<UniqueIdentifier>{2473bf06-b2ba-4f68-9bfe-72a58da61f94}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files\Deploy">
|
||||
<UniqueIdentifier>{5366361d-c2b2-4ae4-929f-05d2d9f43860}</UniqueIdentifier>
|
||||
<Extensions>cpp;moc</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\Telegram\SourceFiles\_other\genstyles.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SourceFiles\_other\msmain.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Deploy\moc_genstyles.cpp">
|
||||
<Filter>Generated Files\Deploy</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Debug\moc_genstyles.cpp">
|
||||
<Filter>Generated Files\Debug</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GeneratedFiles\Release\moc_genstyles.cpp">
|
||||
<Filter>Generated Files\Release</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<CustomBuild Include="..\Telegram\SourceFiles\_other\genstyles.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</CustomBuild>
|
||||
<CustomBuild Include="SourceFiles\_other\msmain.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</CustomBuild>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -1,130 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Deploy|Win32">
|
||||
<Configuration>Deploy</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SourceFiles\_other\packer.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="SourceFiles\_other\packer.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}</ProjectGuid>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediatePacker\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediatePacker\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediatePacker\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_CORE_LIB;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.\..\..\Libraries\lzma\C;.;$(QTDIR)\include;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\OpenSSL-Win32\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>.\..\..\Libraries\lzma\C\Util\LzmaLib\Debug;$(QTDIR)\lib;.\..\..\Libraries\zlib-1.2.8\contrib\vstudio\vc11\x86\ZlibStatDebug;.\..\..\Libraries\OpenSSL-Win32\lib\VC\static;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmaind.lib;zlibstat.lib;libeay32MTd.lib;Qt5Cored.lib;LzmaLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ImageHasSafeExceptionHandlers />
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;ZLIB_WINAPI;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat />
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.\..\..\Libraries\lzma\C;.;$(QTDIR)\include;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\OpenSSL-Win32\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>.\..\..\Libraries\lzma\C\Util\LzmaLib\Release;$(QTDIR)\lib;.\..\..\Libraries\zlib-1.2.8\contrib\vstudio\vc11\x86\ZlibStatRelease;.\..\..\Libraries\OpenSSL-Win32\lib\VC\static;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;zlibstat.lib;libeay32MT.lib;Qt5Core.lib;LzmaLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ImageHasSafeExceptionHandlers />
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;ZLIB_WINAPI;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.\..\..\Libraries\lzma\C;.;$(QTDIR)\include;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\OpenSSL-Win32\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>.\..\..\Libraries\lzma\C\Util\LzmaLib\Release;$(QTDIR)\lib;.\..\..\Libraries\zlib-1.2.8\contrib\vstudio\vc11\x86\ZlibStatRelease;.\..\..\Libraries\OpenSSL-Win32\lib\VC\static;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;zlibstat.lib;libeay32MT.lib;Qt5Core.lib;LzmaLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<ImageHasSafeExceptionHandlers>
|
||||
</ImageHasSafeExceptionHandlers>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties UicDir=".\GeneratedFiles" MocDir=".\GeneratedFiles\$(ConfigurationName)" MocOptions="" RccDir=".\GeneratedFiles" lupdateOnBuild="0" lupdateOptions="" lreleaseOptions="" Qt5Version_x0020_Win32="$(DefaultQtVersion)" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Generated Files">
|
||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||
<Extensions>moc;h;cpp</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="SourceFiles\_other\packer.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SourceFiles\_other\packer.cpp" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
629
Telegram/Patches/breakpad.diff
Normal file
@@ -0,0 +1,629 @@
|
||||
diff --git a/src/build/common.gypi b/src/build/common.gypi
|
||||
index 29990c6..53e99d4 100644
|
||||
--- a/src/build/common.gypi
|
||||
+++ b/src/build/common.gypi
|
||||
@@ -330,6 +330,7 @@
|
||||
'VCCLCompilerTool': {
|
||||
'WarnAsError': 'true',
|
||||
'Detect64BitPortabilityProblems': 'false',
|
||||
+ 'TreatWChar_tAsBuiltInType': 'false',
|
||||
},
|
||||
},
|
||||
}],
|
||||
diff --git a/src/client/mac/Breakpad.xcodeproj/project.pbxproj b/src/client/mac/Breakpad.xcodeproj/project.pbxproj
|
||||
index 1a93ce6..1c1d643 100644
|
||||
--- a/src/client/mac/Breakpad.xcodeproj/project.pbxproj
|
||||
+++ b/src/client/mac/Breakpad.xcodeproj/project.pbxproj
|
||||
@@ -35,6 +35,19 @@
|
||||
/* End PBXAggregateTarget section */
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
+ 0748C0431C63C409004489BF /* MachIPC.mm in Sources */ = {isa = PBXBuildFile; fileRef = F92C53790ECCE635009BE4BA /* MachIPC.mm */; };
|
||||
+ 0748C0441C63C43C004489BF /* minidump_generator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536F0ECCE3FD009BE4BA /* minidump_generator.cc */; };
|
||||
+ 0748C0451C63C46C004489BF /* string_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53820ECCE635009BE4BA /* string_utilities.cc */; };
|
||||
+ 0748C0461C63C484004489BF /* minidump_file_writer.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C538F0ECCE70A009BE4BA /* minidump_file_writer.cc */; };
|
||||
+ 0748C0471C63C4A1004489BF /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
|
||||
+ 0748C0491C63C4CF004489BF /* macho_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537A0ECCE635009BE4BA /* macho_id.cc */; };
|
||||
+ 0748C04A1C63C4D4004489BF /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
|
||||
+ 0748C04B1C63C4DB004489BF /* convert_UTF.c in Sources */ = {isa = PBXBuildFile; fileRef = F92C53870ECCE6C0009BE4BA /* convert_UTF.c */; };
|
||||
+ 0748C04C1C63C4EA004489BF /* macho_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537C0ECCE635009BE4BA /* macho_utilities.cc */; };
|
||||
+ 0748C04D1C63C50F004489BF /* file_id.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53740ECCE635009BE4BA /* file_id.cc */; };
|
||||
+ 0748C04E1C63C51C004489BF /* md5.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D72CA0D13DFAD5C006CABE3 /* md5.cc */; };
|
||||
+ 0748C04F1C63C523004489BF /* macho_walker.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C537E0ECCE635009BE4BA /* macho_walker.cc */; };
|
||||
+ 0748C0501C63C52D004489BF /* bootstrap_compat.cc in Sources */ = {isa = PBXBuildFile; fileRef = 4D61A25D14F43CFC002D5862 /* bootstrap_compat.cc */; };
|
||||
162F64F2161C577500CD68D5 /* arch_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 162F64F0161C577500CD68D5 /* arch_utilities.cc */; };
|
||||
162F64F3161C577500CD68D5 /* arch_utilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 162F64F1161C577500CD68D5 /* arch_utilities.h */; };
|
||||
162F64F4161C579B00CD68D5 /* arch_utilities.cc in Sources */ = {isa = PBXBuildFile; fileRef = 162F64F0161C577500CD68D5 /* arch_utilities.cc */; };
|
||||
@@ -170,11 +183,8 @@
|
||||
F92C564A0ECD10CA009BE4BA /* string_conversion.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53850ECCE6AD009BE4BA /* string_conversion.cc */; };
|
||||
F92C564C0ECD10DD009BE4BA /* breakpadUtilities.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
|
||||
F92C56570ECD113E009BE4BA /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C554A0ECCF530009BE4BA /* Carbon.framework */; };
|
||||
- F92C565C0ECD1158009BE4BA /* breakpadUtilities.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
|
||||
F92C565F0ECD116B009BE4BA /* protected_memory_allocator.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C53720ECCE3FD009BE4BA /* protected_memory_allocator.cc */; };
|
||||
F92C56630ECD1179009BE4BA /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
|
||||
- F92C56650ECD1185009BE4BA /* breakpadUtilities.dylib in Resources */ = {isa = PBXBuildFile; fileRef = F92C563C0ECD10B3009BE4BA /* breakpadUtilities.dylib */; };
|
||||
- F92C568A0ECD15F9009BE4BA /* Inspector in Resources */ = {isa = PBXBuildFile; fileRef = F92C53540ECCE349009BE4BA /* Inspector */; };
|
||||
F92C56A90ECE04C5009BE4BA /* crash_report_sender.m in Sources */ = {isa = PBXBuildFile; fileRef = F92C56A80ECE04C5009BE4BA /* crash_report_sender.m */; };
|
||||
F93803CD0F8083B7004D428B /* dynamic_images.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536B0ECCE3FD009BE4BA /* dynamic_images.cc */; };
|
||||
F93803CE0F8083B7004D428B /* exception_handler.cc in Sources */ = {isa = PBXBuildFile; fileRef = F92C536D0ECCE3FD009BE4BA /* exception_handler.cc */; };
|
||||
@@ -213,7 +223,6 @@
|
||||
F9C44DBD0EF072A0003AEBAA /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = F9C44DBA0EF072A0003AEBAA /* MainMenu.xib */; };
|
||||
F9C44E000EF077CD003AEBAA /* Breakpad.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */; };
|
||||
F9C44E3C0EF08B12003AEBAA /* Breakpad.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* Breakpad.framework */; };
|
||||
- F9C44E980EF09F56003AEBAA /* crash_report_sender.app in Resources */ = {isa = PBXBuildFile; fileRef = F92C56A00ECE04A7009BE4BA /* crash_report_sender.app */; };
|
||||
F9C44EA20EF09F93003AEBAA /* HTTPMultipartUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = F92C53770ECCE635009BE4BA /* HTTPMultipartUpload.m */; };
|
||||
F9C44EE50EF0A006003AEBAA /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F9C44EE40EF0A006003AEBAA /* SystemConfiguration.framework */; };
|
||||
F9C44EE90EF0A3C1003AEBAA /* GTMLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = F9C44EE80EF0A3C1003AEBAA /* GTMLogger.m */; };
|
||||
@@ -410,20 +419,6 @@
|
||||
remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
|
||||
remoteInfo = breakpadUtilities;
|
||||
};
|
||||
- F92C56850ECD15EF009BE4BA /* PBXContainerItemProxy */ = {
|
||||
- isa = PBXContainerItemProxy;
|
||||
- containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||
- proxyType = 1;
|
||||
- remoteGlobalIDString = F92C563B0ECD10B3009BE4BA;
|
||||
- remoteInfo = breakpadUtilities;
|
||||
- };
|
||||
- F92C56870ECD15F1009BE4BA /* PBXContainerItemProxy */ = {
|
||||
- isa = PBXContainerItemProxy;
|
||||
- containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||
- proxyType = 1;
|
||||
- remoteGlobalIDString = F92C53530ECCE349009BE4BA;
|
||||
- remoteInfo = Inspector;
|
||||
- };
|
||||
F93DE2FB0F82C3C600608B94 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||
@@ -536,13 +531,6 @@
|
||||
remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
|
||||
remoteInfo = Breakpad;
|
||||
};
|
||||
- F9C44E960EF09F4B003AEBAA /* PBXContainerItemProxy */ = {
|
||||
- isa = PBXContainerItemProxy;
|
||||
- containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||
- proxyType = 1;
|
||||
- remoteGlobalIDString = F92C569F0ECE04A7009BE4BA;
|
||||
- remoteInfo = crash_report_sender;
|
||||
- };
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
@@ -714,7 +702,6 @@
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
- F92C565C0ECD1158009BE4BA /* breakpadUtilities.dylib in Frameworks */,
|
||||
8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -1181,18 +1168,13 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "Breakpad" */;
|
||||
buildPhases = (
|
||||
- F97A0E850ED4EC15008784D3 /* Change install name of breakpadUtilities */,
|
||||
8DC2EF500486A6940098B216 /* Headers */,
|
||||
- 8DC2EF520486A6940098B216 /* Resources */,
|
||||
8DC2EF540486A6940098B216 /* Sources */,
|
||||
8DC2EF560486A6940098B216 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
- F92C56860ECD15EF009BE4BA /* PBXTargetDependency */,
|
||||
- F92C56880ECD15F1009BE4BA /* PBXTargetDependency */,
|
||||
- F9C44E970EF09F4B003AEBAA /* PBXTargetDependency */,
|
||||
);
|
||||
name = Breakpad;
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
@@ -1399,6 +1381,8 @@
|
||||
/* Begin PBXProject section */
|
||||
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
+ attributes = {
|
||||
+ };
|
||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Breakpad" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
developmentRegion = English;
|
||||
@@ -1583,16 +1567,6 @@
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
- 8DC2EF520486A6940098B216 /* Resources */ = {
|
||||
- isa = PBXResourcesBuildPhase;
|
||||
- buildActionMask = 2147483647;
|
||||
- files = (
|
||||
- F9C44E980EF09F56003AEBAA /* crash_report_sender.app in Resources */,
|
||||
- F92C568A0ECD15F9009BE4BA /* Inspector in Resources */,
|
||||
- F92C56650ECD1185009BE4BA /* breakpadUtilities.dylib in Resources */,
|
||||
- );
|
||||
- runOnlyForDeploymentPostprocessing = 0;
|
||||
- };
|
||||
F92C569C0ECE04A7009BE4BA /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -1640,20 +1614,6 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "install_name_tool -id \"@executable_path/../Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n";
|
||||
};
|
||||
- F97A0E850ED4EC15008784D3 /* Change install name of breakpadUtilities */ = {
|
||||
- isa = PBXShellScriptBuildPhase;
|
||||
- buildActionMask = 2147483647;
|
||||
- files = (
|
||||
- );
|
||||
- inputPaths = (
|
||||
- );
|
||||
- name = "Change install name of breakpadUtilities";
|
||||
- outputPaths = (
|
||||
- );
|
||||
- runOnlyForDeploymentPostprocessing = 0;
|
||||
- shellPath = /bin/sh;
|
||||
- shellScript = "#!/bin/bash\ninstall_name_tool -id \"@executable_path/../Frameworks/Breakpad.framework/Resources/breakpadUtilities.dylib\" \"${BUILT_PRODUCTS_DIR}/breakpadUtilities.dylib\"\n";
|
||||
- };
|
||||
F9C77DD80F7DD5CF0045F7DB /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
@@ -1674,6 +1634,19 @@
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
+ 0748C0501C63C52D004489BF /* bootstrap_compat.cc in Sources */,
|
||||
+ 0748C04F1C63C523004489BF /* macho_walker.cc in Sources */,
|
||||
+ 0748C04E1C63C51C004489BF /* md5.cc in Sources */,
|
||||
+ 0748C04D1C63C50F004489BF /* file_id.cc in Sources */,
|
||||
+ 0748C04C1C63C4EA004489BF /* macho_utilities.cc in Sources */,
|
||||
+ 0748C04B1C63C4DB004489BF /* convert_UTF.c in Sources */,
|
||||
+ 0748C04A1C63C4D4004489BF /* string_conversion.cc in Sources */,
|
||||
+ 0748C0491C63C4CF004489BF /* macho_id.cc in Sources */,
|
||||
+ 0748C0471C63C4A1004489BF /* dynamic_images.cc in Sources */,
|
||||
+ 0748C0461C63C484004489BF /* minidump_file_writer.cc in Sources */,
|
||||
+ 0748C0451C63C46C004489BF /* string_utilities.cc in Sources */,
|
||||
+ 0748C0441C63C43C004489BF /* minidump_generator.cc in Sources */,
|
||||
+ 0748C0431C63C409004489BF /* MachIPC.mm in Sources */,
|
||||
F92C565F0ECD116B009BE4BA /* protected_memory_allocator.cc in Sources */,
|
||||
F92C56630ECD1179009BE4BA /* exception_handler.cc in Sources */,
|
||||
F92C55D10ECD0064009BE4BA /* Breakpad.mm in Sources */,
|
||||
@@ -1955,16 +1928,6 @@
|
||||
target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
|
||||
targetProxy = F92C564D0ECD10E5009BE4BA /* PBXContainerItemProxy */;
|
||||
};
|
||||
- F92C56860ECD15EF009BE4BA /* PBXTargetDependency */ = {
|
||||
- isa = PBXTargetDependency;
|
||||
- target = F92C563B0ECD10B3009BE4BA /* breakpadUtilities */;
|
||||
- targetProxy = F92C56850ECD15EF009BE4BA /* PBXContainerItemProxy */;
|
||||
- };
|
||||
- F92C56880ECD15F1009BE4BA /* PBXTargetDependency */ = {
|
||||
- isa = PBXTargetDependency;
|
||||
- target = F92C53530ECCE349009BE4BA /* Inspector */;
|
||||
- targetProxy = F92C56870ECD15F1009BE4BA /* PBXContainerItemProxy */;
|
||||
- };
|
||||
F93DE2FC0F82C3C600608B94 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = F93803BD0F80820F004D428B /* generator_test */;
|
||||
@@ -2025,11 +1988,6 @@
|
||||
target = 8DC2EF4F0486A6940098B216 /* Breakpad */;
|
||||
targetProxy = F9C44E190EF0790F003AEBAA /* PBXContainerItemProxy */;
|
||||
};
|
||||
- F9C44E970EF09F4B003AEBAA /* PBXTargetDependency */ = {
|
||||
- isa = PBXTargetDependency;
|
||||
- target = F92C569F0ECE04A7009BE4BA /* crash_report_sender */;
|
||||
- targetProxy = F9C44E960EF09F4B003AEBAA /* PBXContainerItemProxy */;
|
||||
- };
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
@@ -2126,8 +2084,12 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */;
|
||||
buildSettings = {
|
||||
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
+ CLANG_CXX_LIBRARY = "libc++";
|
||||
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
|
||||
- SDKROOT = macosx10.5;
|
||||
+ GCC_VERSION = "";
|
||||
+ MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
+ SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -2135,7 +2097,12 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 8B31027811F0D3AF00FCF3E4 /* BreakpadRelease.xcconfig */;
|
||||
buildSettings = {
|
||||
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
+ CLANG_CXX_LIBRARY = "libc++";
|
||||
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
|
||||
+ GCC_VERSION = "";
|
||||
+ MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
+ SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -2454,7 +2421,12 @@
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 8B31027711F0D3AF00FCF3E4 /* BreakpadDebug.xcconfig */;
|
||||
buildSettings = {
|
||||
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
|
||||
+ CLANG_CXX_LIBRARY = "libc++";
|
||||
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
|
||||
+ GCC_VERSION = "";
|
||||
+ MACOSX_DEPLOYMENT_TARGET = 10.8;
|
||||
+ SDKROOT = macosx;
|
||||
};
|
||||
name = "Debug With Code Coverage";
|
||||
};
|
||||
diff --git a/src/client/mac/Framework/Breakpad.mm b/src/client/mac/Framework/Breakpad.mm
|
||||
index 1d2e519..943310f 100644
|
||||
--- a/src/client/mac/Framework/Breakpad.mm
|
||||
+++ b/src/client/mac/Framework/Breakpad.mm
|
||||
@@ -355,10 +355,10 @@ bool Breakpad::Initialize(NSDictionary *parameters) {
|
||||
return false;
|
||||
}
|
||||
|
||||
- if ([[parameters objectForKey:@BREAKPAD_IN_PROCESS] boolValue])
|
||||
+// if ([[parameters objectForKey:@BREAKPAD_IN_PROCESS] boolValue])
|
||||
return InitializeInProcess(parameters);
|
||||
- else
|
||||
- return InitializeOutOfProcess(parameters);
|
||||
+// else
|
||||
+// return InitializeOutOfProcess(parameters);
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
@@ -373,52 +373,52 @@ bool Breakpad::InitializeInProcess(NSDictionary* parameters) {
|
||||
}
|
||||
|
||||
//=============================================================================
|
||||
-bool Breakpad::InitializeOutOfProcess(NSDictionary* parameters) {
|
||||
- // Get path to Inspector executable.
|
||||
- NSString *inspectorPathString = KeyValue(@BREAKPAD_INSPECTOR_LOCATION);
|
||||
-
|
||||
- // Standardize path (resolve symlinkes, etc.) and escape spaces
|
||||
- inspectorPathString = [inspectorPathString stringByStandardizingPath];
|
||||
- inspectorPathString = [[inspectorPathString componentsSeparatedByString:@" "]
|
||||
- componentsJoinedByString:@"\\ "];
|
||||
-
|
||||
- // Create an on-demand server object representing the Inspector.
|
||||
- // In case of a crash, we simply need to call the LaunchOnDemand()
|
||||
- // method on it, then send a mach message to its service port.
|
||||
- // It will then launch and perform a process inspection of our crashed state.
|
||||
- // See the HandleException() method for the details.
|
||||
-#define RECEIVE_PORT_NAME "com.Breakpad.Inspector"
|
||||
-
|
||||
- name_t portName;
|
||||
- snprintf(portName, sizeof(name_t), "%s%d", RECEIVE_PORT_NAME, getpid());
|
||||
-
|
||||
- // Save the location of the Inspector
|
||||
- strlcpy(inspector_path_, [inspectorPathString fileSystemRepresentation],
|
||||
- sizeof(inspector_path_));
|
||||
-
|
||||
- // Append a single command-line argument to the Inspector path
|
||||
- // representing the bootstrap name of the launch-on-demand receive port.
|
||||
- // When the Inspector is launched, it can use this to lookup the port
|
||||
- // by calling bootstrap_check_in().
|
||||
- strlcat(inspector_path_, " ", sizeof(inspector_path_));
|
||||
- strlcat(inspector_path_, portName, sizeof(inspector_path_));
|
||||
-
|
||||
- kern_return_t kr = inspector_.Initialize(inspector_path_,
|
||||
- portName,
|
||||
- true); // shutdown on exit
|
||||
-
|
||||
- if (kr != KERN_SUCCESS) {
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- // Create the handler (allocating it in our special protected pool)
|
||||
- handler_ =
|
||||
- new (gBreakpadAllocator->Allocate(
|
||||
- sizeof(google_breakpad::ExceptionHandler)))
|
||||
- google_breakpad::ExceptionHandler(
|
||||
- Breakpad::ExceptionHandlerDirectCallback, this, true);
|
||||
- return true;
|
||||
-}
|
||||
+//bool Breakpad::InitializeOutOfProcess(NSDictionary* parameters) {
|
||||
+// // Get path to Inspector executable.
|
||||
+// NSString *inspectorPathString = KeyValue(@BREAKPAD_INSPECTOR_LOCATION);
|
||||
+//
|
||||
+// // Standardize path (resolve symlinkes, etc.) and escape spaces
|
||||
+// inspectorPathString = [inspectorPathString stringByStandardizingPath];
|
||||
+// inspectorPathString = [[inspectorPathString componentsSeparatedByString:@" "]
|
||||
+// componentsJoinedByString:@"\\ "];
|
||||
+//
|
||||
+// // Create an on-demand server object representing the Inspector.
|
||||
+// // In case of a crash, we simply need to call the LaunchOnDemand()
|
||||
+// // method on it, then send a mach message to its service port.
|
||||
+// // It will then launch and perform a process inspection of our crashed state.
|
||||
+// // See the HandleException() method for the details.
|
||||
+//#define RECEIVE_PORT_NAME "com.Breakpad.Inspector"
|
||||
+//
|
||||
+// name_t portName;
|
||||
+// snprintf(portName, sizeof(name_t), "%s%d", RECEIVE_PORT_NAME, getpid());
|
||||
+//
|
||||
+// // Save the location of the Inspector
|
||||
+// strlcpy(inspector_path_, [inspectorPathString fileSystemRepresentation],
|
||||
+// sizeof(inspector_path_));
|
||||
+//
|
||||
+// // Append a single command-line argument to the Inspector path
|
||||
+// // representing the bootstrap name of the launch-on-demand receive port.
|
||||
+// // When the Inspector is launched, it can use this to lookup the port
|
||||
+// // by calling bootstrap_check_in().
|
||||
+// strlcat(inspector_path_, " ", sizeof(inspector_path_));
|
||||
+// strlcat(inspector_path_, portName, sizeof(inspector_path_));
|
||||
+//
|
||||
+// kern_return_t kr = inspector_.Initialize(inspector_path_,
|
||||
+// portName,
|
||||
+// true); // shutdown on exit
|
||||
+//
|
||||
+// if (kr != KERN_SUCCESS) {
|
||||
+// return false;
|
||||
+// }
|
||||
+//
|
||||
+// // Create the handler (allocating it in our special protected pool)
|
||||
+// handler_ =
|
||||
+// new (gBreakpadAllocator->Allocate(
|
||||
+// sizeof(google_breakpad::ExceptionHandler)))
|
||||
+// google_breakpad::ExceptionHandler(
|
||||
+// Breakpad::ExceptionHandlerDirectCallback, this, true);
|
||||
+// return true;
|
||||
+//}
|
||||
|
||||
//=============================================================================
|
||||
Breakpad::~Breakpad() {
|
||||
@@ -445,10 +445,10 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) {
|
||||
NSString *version = [parameters objectForKey:@BREAKPAD_VERSION];
|
||||
NSString *urlStr = [parameters objectForKey:@BREAKPAD_URL];
|
||||
NSString *interval = [parameters objectForKey:@BREAKPAD_REPORT_INTERVAL];
|
||||
- NSString *inspectorPathString =
|
||||
- [parameters objectForKey:@BREAKPAD_INSPECTOR_LOCATION];
|
||||
- NSString *reporterPathString =
|
||||
- [parameters objectForKey:@BREAKPAD_REPORTER_EXE_LOCATION];
|
||||
+// NSString *inspectorPathString =
|
||||
+// [parameters objectForKey:@BREAKPAD_INSPECTOR_LOCATION];
|
||||
+// NSString *reporterPathString =
|
||||
+// [parameters objectForKey:@BREAKPAD_REPORTER_EXE_LOCATION];
|
||||
NSString *timeout = [parameters objectForKey:@BREAKPAD_CONFIRM_TIMEOUT];
|
||||
NSArray *logFilePaths = [parameters objectForKey:@BREAKPAD_LOGFILES];
|
||||
NSString *logFileTailSize =
|
||||
@@ -536,39 +536,39 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) {
|
||||
}
|
||||
|
||||
// Find the helper applications if not specified in user config.
|
||||
- NSString *resourcePath = nil;
|
||||
- if (!inspectorPathString || !reporterPathString) {
|
||||
- resourcePath = GetResourcePath();
|
||||
- if (!resourcePath) {
|
||||
- return false;
|
||||
- }
|
||||
- }
|
||||
+// NSString *resourcePath = nil;
|
||||
+// if (!inspectorPathString || !reporterPathString) {
|
||||
+// resourcePath = GetResourcePath();
|
||||
+// if (!resourcePath) {
|
||||
+// return false;
|
||||
+// }
|
||||
+// }
|
||||
|
||||
// Find Inspector.
|
||||
- if (!inspectorPathString) {
|
||||
- inspectorPathString =
|
||||
- [resourcePath stringByAppendingPathComponent:@"Inspector"];
|
||||
- }
|
||||
-
|
||||
- // Verify that there is an Inspector tool.
|
||||
- if (![[NSFileManager defaultManager] fileExistsAtPath:inspectorPathString]) {
|
||||
- return false;
|
||||
- }
|
||||
+// if (!inspectorPathString) {
|
||||
+// inspectorPathString =
|
||||
+// [resourcePath stringByAppendingPathComponent:@"Inspector"];
|
||||
+// }
|
||||
+//
|
||||
+// // Verify that there is an Inspector tool.
|
||||
+// if (![[NSFileManager defaultManager] fileExistsAtPath:inspectorPathString]) {
|
||||
+// return false;
|
||||
+// }
|
||||
|
||||
// Find Reporter.
|
||||
- if (!reporterPathString) {
|
||||
- reporterPathString =
|
||||
- [resourcePath
|
||||
- stringByAppendingPathComponent:@"crash_report_sender.app"];
|
||||
- reporterPathString =
|
||||
- [[NSBundle bundleWithPath:reporterPathString] executablePath];
|
||||
- }
|
||||
+// if (!reporterPathString) {
|
||||
+// reporterPathString =
|
||||
+// [resourcePath
|
||||
+// stringByAppendingPathComponent:@"crash_report_sender.app"];
|
||||
+// reporterPathString =
|
||||
+// [[NSBundle bundleWithPath:reporterPathString] executablePath];
|
||||
+// }
|
||||
|
||||
// Verify that there is a Reporter application.
|
||||
- if (![[NSFileManager defaultManager]
|
||||
- fileExistsAtPath:reporterPathString]) {
|
||||
- return false;
|
||||
- }
|
||||
+// if (![[NSFileManager defaultManager]
|
||||
+// fileExistsAtPath:reporterPathString]) {
|
||||
+// return false;
|
||||
+// }
|
||||
|
||||
if (!dumpSubdirectory) {
|
||||
dumpSubdirectory = @"";
|
||||
@@ -601,10 +601,10 @@ bool Breakpad::ExtractParameters(NSDictionary *parameters) {
|
||||
dictionary.SetKeyValue(BREAKPAD_REPORT_INTERVAL, [interval UTF8String]);
|
||||
dictionary.SetKeyValue(BREAKPAD_SKIP_CONFIRM, [skipConfirm UTF8String]);
|
||||
dictionary.SetKeyValue(BREAKPAD_CONFIRM_TIMEOUT, [timeout UTF8String]);
|
||||
- dictionary.SetKeyValue(BREAKPAD_INSPECTOR_LOCATION,
|
||||
- [inspectorPathString fileSystemRepresentation]);
|
||||
- dictionary.SetKeyValue(BREAKPAD_REPORTER_EXE_LOCATION,
|
||||
- [reporterPathString fileSystemRepresentation]);
|
||||
+// dictionary.SetKeyValue(BREAKPAD_INSPECTOR_LOCATION,
|
||||
+// [inspectorPathString fileSystemRepresentation]);
|
||||
+// dictionary.SetKeyValue(BREAKPAD_REPORTER_EXE_LOCATION,
|
||||
+// [reporterPathString fileSystemRepresentation]);
|
||||
dictionary.SetKeyValue(BREAKPAD_LOGFILE_UPLOAD_SIZE,
|
||||
[logFileTailSize UTF8String]);
|
||||
dictionary.SetKeyValue(BREAKPAD_REQUEST_COMMENTS,
|
||||
@@ -762,9 +762,9 @@ bool Breakpad::HandleException(int exception_type,
|
||||
bool Breakpad::HandleMinidump(const char *dump_dir, const char *minidump_id) {
|
||||
google_breakpad::ConfigFile config_file;
|
||||
config_file.WriteFile(dump_dir, config_params_, dump_dir, minidump_id);
|
||||
- google_breakpad::LaunchReporter(
|
||||
- config_params_->GetValueForKey(BREAKPAD_REPORTER_EXE_LOCATION),
|
||||
- config_file.GetFilePath());
|
||||
+// google_breakpad::LaunchReporter(
|
||||
+// config_params_->GetValueForKey(BREAKPAD_REPORTER_EXE_LOCATION),
|
||||
+// config_file.GetFilePath());
|
||||
return true;
|
||||
}
|
||||
|
||||
diff --git a/src/common/language.cc b/src/common/language.cc
|
||||
index 978fb85..a95ae5f 100644
|
||||
--- a/src/common/language.cc
|
||||
+++ b/src/common/language.cc
|
||||
@@ -46,8 +46,27 @@
|
||||
|
||||
#include <limits>
|
||||
|
||||
+#include <cstdio>
|
||||
+#include <iostream>
|
||||
+#include <memory>
|
||||
+#include <stdexcept>
|
||||
+#include <string>
|
||||
+#include <array>
|
||||
+
|
||||
namespace {
|
||||
|
||||
+std::string exec(std::string cmd) {
|
||||
+ std::array<char, 128> buffer;
|
||||
+ std::string result;
|
||||
+ std::shared_ptr<FILE> pipe(popen(cmd.c_str(), "r"), pclose);
|
||||
+ if (!pipe) throw std::runtime_error("popen() failed!");
|
||||
+ while (!feof(pipe.get())) {
|
||||
+ if (fgets(buffer.data(), 128, pipe.get()) != nullptr)
|
||||
+ result += buffer.data();
|
||||
+ }
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
string MakeQualifiedNameWithSeparator(const string& parent_name,
|
||||
const char* separator,
|
||||
const string& name) {
|
||||
@@ -79,11 +98,29 @@ class CPPLanguage: public Language {
|
||||
demangled->clear();
|
||||
return kDontDemangle;
|
||||
#else
|
||||
+ DemangleResult result;
|
||||
+ if (mangled.find("type_erased_handlers") != std::string::npos
|
||||
+ && mangled.find("vtable_once_impl") != std::string::npos) {
|
||||
+
|
||||
+ auto demangled_str = exec("c++filt " + mangled);
|
||||
+ if (!demangled_str.empty() && demangled_str.back() == '\n') {
|
||||
+ demangled_str.pop_back();
|
||||
+ }
|
||||
+ if (demangled_str != mangled) {
|
||||
+ result = kDemangleSuccess;
|
||||
+ demangled->assign(demangled_str.c_str());
|
||||
+ } else {
|
||||
+ result = kDemangleFailure;
|
||||
+ demangled->clear();
|
||||
+ }
|
||||
+
|
||||
+ } else {
|
||||
+
|
||||
int status;
|
||||
char* demangled_c =
|
||||
abi::__cxa_demangle(mangled.c_str(), NULL, NULL, &status);
|
||||
|
||||
- DemangleResult result;
|
||||
+// DemangleResult result;
|
||||
if (status == 0) {
|
||||
result = kDemangleSuccess;
|
||||
demangled->assign(demangled_c);
|
||||
@@ -96,6 +133,8 @@ class CPPLanguage: public Language {
|
||||
free(reinterpret_cast<void*>(demangled_c));
|
||||
}
|
||||
|
||||
+ }
|
||||
+
|
||||
return result;
|
||||
#endif
|
||||
}
|
||||
diff --git a/src/common/linux/elf_symbols_to_module.cc b/src/common/linux/elf_symbols_to_module.cc
|
||||
index 562875e..4367851 100644
|
||||
--- a/src/common/linux/elf_symbols_to_module.cc
|
||||
+++ b/src/common/linux/elf_symbols_to_module.cc
|
||||
@@ -39,6 +39,29 @@
|
||||
#include "common/byte_cursor.h"
|
||||
#include "common/module.h"
|
||||
|
||||
+#include <cstdio>
|
||||
+#include <iostream>
|
||||
+#include <memory>
|
||||
+#include <stdexcept>
|
||||
+#include <string>
|
||||
+#include <array>
|
||||
+
|
||||
+namespace {
|
||||
+
|
||||
+std::string exec(std::string cmd) {
|
||||
+ std::array<char, 128> buffer;
|
||||
+ std::string result;
|
||||
+ std::shared_ptr<FILE> pipe(popen(cmd.c_str(), "r"), pclose);
|
||||
+ if (!pipe) throw std::runtime_error("popen() failed!");
|
||||
+ while (!feof(pipe.get())) {
|
||||
+ if (fgets(buffer.data(), 128, pipe.get()) != nullptr)
|
||||
+ result += buffer.data();
|
||||
+ }
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+}
|
||||
+
|
||||
namespace google_breakpad {
|
||||
|
||||
class ELFSymbolIterator {
|
||||
@@ -159,6 +182,19 @@ bool ELFSymbolsToModule(const uint8_t *symtab_section,
|
||||
Module::Extern *ext = new Module::Extern(iterator->value);
|
||||
ext->name = SymbolString(iterator->name_offset, strings);
|
||||
#if !defined(__ANDROID__) // Android NDK doesn't provide abi::__cxa_demangle.
|
||||
+ if (ext->name.find("type_erased_handlers") != std::string::npos
|
||||
+ && ext->name.find("vtable_once_impl") != std::string::npos) {
|
||||
+
|
||||
+ auto demangled_str = exec("c++filt " + ext->name);
|
||||
+ if (!demangled_str.empty() && demangled_str.back() == '\n') {
|
||||
+ demangled_str.pop_back();
|
||||
+ }
|
||||
+ if (demangled_str != ext->name) {
|
||||
+ ext->name = demangled_str;
|
||||
+ }
|
||||
+
|
||||
+ } else {
|
||||
+
|
||||
int status = 0;
|
||||
char* demangled =
|
||||
abi::__cxa_demangle(ext->name.c_str(), NULL, NULL, &status);
|
||||
@@ -167,6 +203,8 @@ bool ELFSymbolsToModule(const uint8_t *symtab_section,
|
||||
ext->name = demangled;
|
||||
free(demangled);
|
||||
}
|
||||
+
|
||||
+ }
|
||||
#endif
|
||||
module->AddExtern(ext);
|
||||
}
|
||||
diff --git a/src/tools/linux/tools_linux.gypi b/src/tools/linux/tools_linux.gypi
|
||||
index 1c15992..020e4c1 100644
|
||||
--- a/src/tools/linux/tools_linux.gypi
|
||||
+++ b/src/tools/linux/tools_linux.gypi
|
||||
@@ -58,7 +58,7 @@
|
||||
'target_name': 'minidump_upload',
|
||||
'type': 'executable',
|
||||
'sources': [
|
||||
- 'symupload/minidump_upload.m',
|
||||
+ 'symupload/minidump_upload.cc',
|
||||
],
|
||||
'dependencies': [
|
||||
'../common/common.gyp:common',
|
||||
18
Telegram/Patches/build_ffmpeg_win.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
set -e
|
||||
FullExecPath=$PWD
|
||||
pushd `dirname $0` > /dev/null
|
||||
FullScriptPath=`pwd`
|
||||
popd > /dev/null
|
||||
|
||||
pacman --noconfirm -Sy
|
||||
pacman --noconfirm -S msys/make
|
||||
pacman --noconfirm -S mingw64/mingw-w64-x86_64-opus
|
||||
pacman --noconfirm -S diffutils
|
||||
pacman --noconfirm -S pkg-config
|
||||
|
||||
PKG_CONFIG_PATH="/mingw64/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
|
||||
./configure --toolchain=msvc --disable-programs --disable-doc --disable-everything --enable-protocol=file --enable-libopus --enable-decoder=aac --enable-decoder=aac_latm --enable-decoder=aasc --enable-decoder=flac --enable-decoder=gif --enable-decoder=h264 --enable-decoder=mp1 --enable-decoder=mp1float --enable-decoder=mp2 --enable-decoder=mp2float --enable-decoder=mp3 --enable-decoder=mp3adu --enable-decoder=mp3adufloat --enable-decoder=mp3float --enable-decoder=mp3on4 --enable-decoder=mp3on4float --enable-decoder=mpeg4 --enable-decoder=msmpeg4v2 --enable-decoder=msmpeg4v3 --enable-decoder=wavpack --enable-decoder=opus --enable-decoder=pcm_alaw --enable-decoder=pcm_alaw_at --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-decoder=pcm_mulaw --enable-decoder=pcm_mulaw_at --enable-decoder=pcm_s16be --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-decoder=pcm_s24daud --enable-decoder=pcm_s24le --enable-decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-decoder=pcm_s64be --enable-decoder=pcm_s64le --enable-decoder=pcm_s8 --enable-decoder=pcm_s8_planar --enable-decoder=pcm_u16be --enable-decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-decoder=pcm_u8 --enable-decoder=pcm_zork --enable-decoder=vorbis --enable-decoder=wmalossless --enable-decoder=wmapro --enable-decoder=wmav1 --enable-decoder=wmav2 --enable-decoder=wmavoice --enable-encoder=libopus --enable-hwaccel=h264_d3d11va --enable-hwaccel=h264_dxva2 --enable-parser=aac --enable-parser=aac_latm --enable-parser=flac --enable-parser=h264 --enable-parser=mpeg4video --enable-parser=mpegaudio --enable-parser=opus --enable-parser=vorbis --enable-demuxer=aac --enable-demuxer=flac --enable-demuxer=gif --enable-demuxer=h264 --enable-demuxer=mov --enable-demuxer=mp3 --enable-demuxer=ogg --enable-demuxer=wav --enable-muxer=ogg --enable-muxer=opus --extra-ldflags="-libpath:$FullExecPath/../opus/win32/VS2015/Win32/Release"
|
||||
|
||||
make -j4
|
||||
make -j4 install
|
||||
107
Telegram/Patches/crashpad.diff
Normal file
@@ -0,0 +1,107 @@
|
||||
diff --git a/client/capture_context_mac_test.cc b/client/capture_context_mac_test.cc
|
||||
index 436ac5ad..8e14fb9c 100644
|
||||
--- a/client/capture_context_mac_test.cc
|
||||
+++ b/client/capture_context_mac_test.cc
|
||||
@@ -34,11 +34,11 @@ namespace {
|
||||
// gtest assertions.
|
||||
void SanityCheckContext(const NativeCPUContext& context) {
|
||||
#if defined(ARCH_CPU_X86)
|
||||
- ASSERT_EQ(x86_THREAD_STATE32, context.tsh.flavor);
|
||||
- ASSERT_EQ(implicit_cast<int>(x86_THREAD_STATE32_COUNT), context.tsh.count);
|
||||
+ ASSERT_EQ(implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE32), implicit_cast<thread_state_flavor_t>(context.tsh.flavor));
|
||||
+ ASSERT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE32_COUNT), implicit_cast<uint32_t>(context.tsh.count));
|
||||
#elif defined(ARCH_CPU_X86_64)
|
||||
- ASSERT_EQ(x86_THREAD_STATE64, context.tsh.flavor);
|
||||
- ASSERT_EQ(implicit_cast<int>(x86_THREAD_STATE64_COUNT), context.tsh.count);
|
||||
+ ASSERT_EQ(implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE64), implicit_cast<thread_state_flavor_t>(context.tsh.flavor));
|
||||
+ ASSERT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE64_COUNT), implicit_cast<uint32_t>(context.tsh.count));
|
||||
#endif
|
||||
|
||||
#if defined(ARCH_CPU_X86_FAMILY)
|
||||
diff --git a/client/simulate_crash_mac.cc b/client/simulate_crash_mac.cc
|
||||
index 7e279015..27864388 100644
|
||||
--- a/client/simulate_crash_mac.cc
|
||||
+++ b/client/simulate_crash_mac.cc
|
||||
@@ -177,12 +177,12 @@ bool DeliverException(thread_t thread,
|
||||
|
||||
void SimulateCrash(const NativeCPUContext& cpu_context) {
|
||||
#if defined(ARCH_CPU_X86)
|
||||
- DCHECK_EQ(cpu_context.tsh.flavor,
|
||||
+ DCHECK_EQ(implicit_cast<thread_state_flavor_t>(cpu_context.tsh.flavor),
|
||||
implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE32));
|
||||
DCHECK_EQ(implicit_cast<mach_msg_type_number_t>(cpu_context.tsh.count),
|
||||
x86_THREAD_STATE32_COUNT);
|
||||
#elif defined(ARCH_CPU_X86_64)
|
||||
- DCHECK_EQ(cpu_context.tsh.flavor,
|
||||
+ DCHECK_EQ(implicit_cast<thread_state_flavor_t>(cpu_context.tsh.flavor),
|
||||
implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE64));
|
||||
DCHECK_EQ(implicit_cast<mach_msg_type_number_t>(cpu_context.tsh.count),
|
||||
x86_THREAD_STATE64_COUNT);
|
||||
diff --git a/client/simulate_crash_mac_test.cc b/client/simulate_crash_mac_test.cc
|
||||
index 87c5f845..ca813e4c 100644
|
||||
--- a/client/simulate_crash_mac_test.cc
|
||||
+++ b/client/simulate_crash_mac_test.cc
|
||||
@@ -130,12 +130,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
|
||||
reinterpret_cast<const x86_thread_state*>(old_state);
|
||||
switch (state->tsh.flavor) {
|
||||
case x86_THREAD_STATE32:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_THREAD_STATE32_COUNT),
|
||||
- state->tsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE32_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->tsh.count));
|
||||
break;
|
||||
case x86_THREAD_STATE64:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_THREAD_STATE64_COUNT),
|
||||
- state->tsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE64_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->tsh.count));
|
||||
break;
|
||||
default:
|
||||
ADD_FAILURE() << "unexpected tsh.flavor " << state->tsh.flavor;
|
||||
@@ -149,12 +149,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
|
||||
reinterpret_cast<const x86_float_state*>(old_state);
|
||||
switch (state->fsh.flavor) {
|
||||
case x86_FLOAT_STATE32:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_FLOAT_STATE32_COUNT),
|
||||
- state->fsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_FLOAT_STATE32_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->fsh.count));
|
||||
break;
|
||||
case x86_FLOAT_STATE64:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_FLOAT_STATE64_COUNT),
|
||||
- state->fsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_FLOAT_STATE64_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->fsh.count));
|
||||
break;
|
||||
default:
|
||||
ADD_FAILURE() << "unexpected fsh.flavor " << state->fsh.flavor;
|
||||
@@ -168,12 +168,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
|
||||
reinterpret_cast<const x86_debug_state*>(old_state);
|
||||
switch (state->dsh.flavor) {
|
||||
case x86_DEBUG_STATE32:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_DEBUG_STATE32_COUNT),
|
||||
- state->dsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_DEBUG_STATE32_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->dsh.count));
|
||||
break;
|
||||
case x86_DEBUG_STATE64:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_DEBUG_STATE64_COUNT),
|
||||
- state->dsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_DEBUG_STATE64_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->dsh.count));
|
||||
break;
|
||||
default:
|
||||
ADD_FAILURE() << "unexpected dsh.flavor " << state->dsh.flavor;
|
||||
diff --git a/crashpad.gyp b/crashpad.gyp
|
||||
index 42fe0a26..d8af1bf1 100644
|
||||
--- a/crashpad.gyp
|
||||
+++ b/crashpad.gyp
|
||||
@@ -25,7 +25,7 @@
|
||||
'minidump/minidump.gyp:*',
|
||||
'minidump/minidump_test.gyp:*',
|
||||
'snapshot/snapshot.gyp:*',
|
||||
- 'snapshot/snapshot_test.gyp:*',
|
||||
+# 'snapshot/snapshot_test.gyp:*',
|
||||
'test/test.gyp:*',
|
||||
'test/test_test.gyp:*',
|
||||
'tools/tools.gyp:*',
|
||||
80
Telegram/Patches/gyp.diff
Normal file
@@ -0,0 +1,80 @@
|
||||
diff --git a/pylib/gyp/generator/cmake.py b/pylib/gyp/generator/cmake.py
|
||||
index a2b9629..68d7020 100644
|
||||
--- a/pylib/gyp/generator/cmake.py
|
||||
+++ b/pylib/gyp/generator/cmake.py
|
||||
@@ -1070,6 +1070,23 @@ def WriteTarget(namer, qualified_target, target_dicts, build_dir, config_to_use,
|
||||
|
||||
output.write(')\n')
|
||||
|
||||
+ # Precompile header
|
||||
+ precompiled_header = config.get('cmake_precompiled_header', '')
|
||||
+ if precompiled_header:
|
||||
+ precompiled_header_script = config.get('cmake_precompiled_header_script', '')
|
||||
+ if not precompiled_header_script:
|
||||
+ print ('ERROR: cmake_precompiled_header requires cmake_precompiled_header_script')
|
||||
+ cmake_precompiled_header = NormjoinPath(path_from_cmakelists_to_gyp, precompiled_header)
|
||||
+ cmake_precompiled_header_script = NormjoinPathForceCMakeSource(path_from_cmakelists_to_gyp, precompiled_header_script)
|
||||
+ output.write('include(')
|
||||
+ output.write(cmake_precompiled_header_script)
|
||||
+ output.write(')\n')
|
||||
+ output.write('add_precompiled_header(')
|
||||
+ output.write(cmake_target_name)
|
||||
+ output.write(' ')
|
||||
+ output.write(cmake_precompiled_header)
|
||||
+ output.write(')\n')
|
||||
+
|
||||
UnsetVariable(output, 'TOOLSET')
|
||||
UnsetVariable(output, 'TARGET')
|
||||
|
||||
diff --git a/pylib/gyp/generator/xcode.py b/pylib/gyp/generator/xcode.py
|
||||
index db99d6a..8d56baf 100644
|
||||
--- a/pylib/gyp/generator/xcode.py
|
||||
+++ b/pylib/gyp/generator/xcode.py
|
||||
@@ -72,6 +72,10 @@ generator_additional_non_configuration_keys = [
|
||||
'ios_app_extension',
|
||||
'ios_watch_app',
|
||||
'ios_watchkit_extension',
|
||||
+
|
||||
+ 'mac_sandbox', # sandbox support
|
||||
+ 'mac_sandbox_development_team',
|
||||
+
|
||||
'mac_bundle',
|
||||
'mac_bundle_resources',
|
||||
'mac_framework_headers',
|
||||
@@ -772,6 +776,26 @@ def GenerateOutput(target_list, target_dicts, data, params):
|
||||
xcode_targets[qualified_target] = xct
|
||||
xcode_target_to_target_dict[xct] = spec
|
||||
|
||||
+ # sandbox support
|
||||
+ is_sandbox = int(spec.get('mac_sandbox', 0))
|
||||
+ if is_sandbox:
|
||||
+ dev_team = spec.get('mac_sandbox_development_team', '%%ERROR%%')
|
||||
+ assert dev_team != '%%ERROR%%', (
|
||||
+ 'mac_sandbox must be accompanied by mac_sandbox_development_team (target "%s")' %
|
||||
+ target_name)
|
||||
+ try:
|
||||
+ tmp = pbxp._properties['attributes']['TargetAttributes']
|
||||
+ except KeyError:
|
||||
+ pbxp._properties['attributes']['TargetAttributes'] = {}
|
||||
+ pbxp._properties['attributes']['TargetAttributes'][xct] = {
|
||||
+ 'DevelopmentTeam': dev_team,
|
||||
+ 'SystemCapabilities': {
|
||||
+ 'com.apple.Sandbox': {
|
||||
+ 'enabled': 1,
|
||||
+ },
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
spec_actions = spec.get('actions', [])
|
||||
spec_rules = spec.get('rules', [])
|
||||
|
||||
@@ -1141,7 +1165,8 @@ exit 1
|
||||
groups = [x for x in groups if not x.endswith('_excluded')]
|
||||
for group in groups:
|
||||
for item in rule.get(group, []):
|
||||
- pbxp.AddOrGetFileInRootGroup(item)
|
||||
+ concrete_item = ExpandXcodeVariables(item, rule_input_dict)
|
||||
+ pbxp.AddOrGetFileInRootGroup(concrete_item)
|
||||
|
||||
# Add "sources".
|
||||
for source in spec.get('sources', []):
|
||||
127
Telegram/Patches/macold/crashpad.diff
Normal file
@@ -0,0 +1,127 @@
|
||||
diff --git a/build/crashpad.gypi b/build/crashpad.gypi
|
||||
index 027c7b68..4bfdfb5a 100644
|
||||
--- a/build/crashpad.gypi
|
||||
+++ b/build/crashpad.gypi
|
||||
@@ -25,5 +25,15 @@
|
||||
4201, # nonstandard extension used : nameless struct/union.
|
||||
4324, # structure was padded due to __declspec(align()).
|
||||
],
|
||||
+ 'xcode_settings': {
|
||||
+ 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ],
|
||||
+ 'OTHER_LDFLAGS': [
|
||||
+ '/usr/local/macold/lib/libc++.a',
|
||||
+ '/usr/local/macold/lib/libc++abi.a',
|
||||
+ ],
|
||||
+ },
|
||||
+ 'include_dirs': [
|
||||
+ '/usr/local/macold/include/c++/v1',
|
||||
+ ],
|
||||
},
|
||||
}
|
||||
diff --git a/client/capture_context_mac_test.cc b/client/capture_context_mac_test.cc
|
||||
index 436ac5ad..8e14fb9c 100644
|
||||
--- a/client/capture_context_mac_test.cc
|
||||
+++ b/client/capture_context_mac_test.cc
|
||||
@@ -34,11 +34,11 @@ namespace {
|
||||
// gtest assertions.
|
||||
void SanityCheckContext(const NativeCPUContext& context) {
|
||||
#if defined(ARCH_CPU_X86)
|
||||
- ASSERT_EQ(x86_THREAD_STATE32, context.tsh.flavor);
|
||||
- ASSERT_EQ(implicit_cast<int>(x86_THREAD_STATE32_COUNT), context.tsh.count);
|
||||
+ ASSERT_EQ(implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE32), implicit_cast<thread_state_flavor_t>(context.tsh.flavor));
|
||||
+ ASSERT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE32_COUNT), implicit_cast<uint32_t>(context.tsh.count));
|
||||
#elif defined(ARCH_CPU_X86_64)
|
||||
- ASSERT_EQ(x86_THREAD_STATE64, context.tsh.flavor);
|
||||
- ASSERT_EQ(implicit_cast<int>(x86_THREAD_STATE64_COUNT), context.tsh.count);
|
||||
+ ASSERT_EQ(implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE64), implicit_cast<thread_state_flavor_t>(context.tsh.flavor));
|
||||
+ ASSERT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE64_COUNT), implicit_cast<uint32_t>(context.tsh.count));
|
||||
#endif
|
||||
|
||||
#if defined(ARCH_CPU_X86_FAMILY)
|
||||
diff --git a/client/simulate_crash_mac.cc b/client/simulate_crash_mac.cc
|
||||
index 7e279015..27864388 100644
|
||||
--- a/client/simulate_crash_mac.cc
|
||||
+++ b/client/simulate_crash_mac.cc
|
||||
@@ -177,12 +177,12 @@ bool DeliverException(thread_t thread,
|
||||
|
||||
void SimulateCrash(const NativeCPUContext& cpu_context) {
|
||||
#if defined(ARCH_CPU_X86)
|
||||
- DCHECK_EQ(cpu_context.tsh.flavor,
|
||||
+ DCHECK_EQ(implicit_cast<thread_state_flavor_t>(cpu_context.tsh.flavor),
|
||||
implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE32));
|
||||
DCHECK_EQ(implicit_cast<mach_msg_type_number_t>(cpu_context.tsh.count),
|
||||
x86_THREAD_STATE32_COUNT);
|
||||
#elif defined(ARCH_CPU_X86_64)
|
||||
- DCHECK_EQ(cpu_context.tsh.flavor,
|
||||
+ DCHECK_EQ(implicit_cast<thread_state_flavor_t>(cpu_context.tsh.flavor),
|
||||
implicit_cast<thread_state_flavor_t>(x86_THREAD_STATE64));
|
||||
DCHECK_EQ(implicit_cast<mach_msg_type_number_t>(cpu_context.tsh.count),
|
||||
x86_THREAD_STATE64_COUNT);
|
||||
diff --git a/client/simulate_crash_mac_test.cc b/client/simulate_crash_mac_test.cc
|
||||
index 87c5f845..ca813e4c 100644
|
||||
--- a/client/simulate_crash_mac_test.cc
|
||||
+++ b/client/simulate_crash_mac_test.cc
|
||||
@@ -130,12 +130,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
|
||||
reinterpret_cast<const x86_thread_state*>(old_state);
|
||||
switch (state->tsh.flavor) {
|
||||
case x86_THREAD_STATE32:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_THREAD_STATE32_COUNT),
|
||||
- state->tsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE32_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->tsh.count));
|
||||
break;
|
||||
case x86_THREAD_STATE64:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_THREAD_STATE64_COUNT),
|
||||
- state->tsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_THREAD_STATE64_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->tsh.count));
|
||||
break;
|
||||
default:
|
||||
ADD_FAILURE() << "unexpected tsh.flavor " << state->tsh.flavor;
|
||||
@@ -149,12 +149,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
|
||||
reinterpret_cast<const x86_float_state*>(old_state);
|
||||
switch (state->fsh.flavor) {
|
||||
case x86_FLOAT_STATE32:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_FLOAT_STATE32_COUNT),
|
||||
- state->fsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_FLOAT_STATE32_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->fsh.count));
|
||||
break;
|
||||
case x86_FLOAT_STATE64:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_FLOAT_STATE64_COUNT),
|
||||
- state->fsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_FLOAT_STATE64_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->fsh.count));
|
||||
break;
|
||||
default:
|
||||
ADD_FAILURE() << "unexpected fsh.flavor " << state->fsh.flavor;
|
||||
@@ -168,12 +168,12 @@ class TestSimulateCrashMac final : public MachMultiprocess,
|
||||
reinterpret_cast<const x86_debug_state*>(old_state);
|
||||
switch (state->dsh.flavor) {
|
||||
case x86_DEBUG_STATE32:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_DEBUG_STATE32_COUNT),
|
||||
- state->dsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_DEBUG_STATE32_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->dsh.count));
|
||||
break;
|
||||
case x86_DEBUG_STATE64:
|
||||
- EXPECT_EQ(implicit_cast<int>(x86_DEBUG_STATE64_COUNT),
|
||||
- state->dsh.count);
|
||||
+ EXPECT_EQ(implicit_cast<uint32_t>(x86_DEBUG_STATE64_COUNT),
|
||||
+ implicit_cast<uint32_t>(state->dsh.count));
|
||||
break;
|
||||
default:
|
||||
ADD_FAILURE() << "unexpected dsh.flavor " << state->dsh.flavor;
|
||||
diff --git a/crashpad.gyp b/crashpad.gyp
|
||||
index 42fe0a26..d8af1bf1 100644
|
||||
--- a/crashpad.gyp
|
||||
+++ b/crashpad.gyp
|
||||
@@ -25,7 +25,7 @@
|
||||
'minidump/minidump.gyp:*',
|
||||
'minidump/minidump_test.gyp:*',
|
||||
'snapshot/snapshot.gyp:*',
|
||||
- 'snapshot/snapshot_test.gyp:*',
|
||||
+# 'snapshot/snapshot_test.gyp:*',
|
||||
'test/test.gyp:*',
|
||||
'test/test_test.gyp:*',
|
||||
'tools/tools.gyp:*',
|
||||
26
Telegram/Patches/macold/mini_chromium.diff
Normal file
@@ -0,0 +1,26 @@
|
||||
diff --git a/build/common.gypi b/build/common.gypi
|
||||
index 1affc70..c0d2f6a 100644
|
||||
--- a/build/common.gypi
|
||||
+++ b/build/common.gypi
|
||||
@@ -66,6 +66,11 @@
|
||||
'conditions': [
|
||||
['clang!=0', {
|
||||
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', # -std=c++11
|
||||
+ 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ],
|
||||
+ 'OTHER_LDFLAGS': [
|
||||
+ '/usr/local/macold/lib/libc++.a',
|
||||
+ '/usr/local/macold/lib/libc++abi.a',
|
||||
+ ],
|
||||
|
||||
# Don't link in libarclite_macosx.a, see http://crbug.com/156530.
|
||||
'CLANG_LINK_OBJC_RUNTIME': 'NO', # -fno-objc-link-runtime
|
||||
@@ -116,6 +121,9 @@
|
||||
],
|
||||
|
||||
},
|
||||
+ 'include_dirs': [
|
||||
+ '/usr/local/macold/include/c++/v1',
|
||||
+ ],
|
||||
}],
|
||||
|
||||
['OS=="linux"', {
|
||||
844
Telegram/Patches/macold/qtbase_5_3_2.diff
Normal file
@@ -0,0 +1,844 @@
|
||||
diff --git a/configure b/configure
|
||||
index cb8d78fd3cb..cadb3f0a880 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -511,7 +511,8 @@ if [ "$BUILD_ON_MAC" = "yes" ]; then
|
||||
exit 2
|
||||
fi
|
||||
|
||||
- if ! /usr/bin/xcrun -find xcrun >/dev/null 2>&1; then
|
||||
+ # Patch: Fix Qt for working with Xcode 8.
|
||||
+ if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then
|
||||
echo >&2
|
||||
echo " Xcode not set up properly. You may need to confirm the license" >&2
|
||||
echo " agreement by running /usr/bin/xcodebuild without arguments." >&2
|
||||
diff --git a/mkspecs/common/g++-macx.conf b/mkspecs/common/g++-macx.conf
|
||||
index 086510dd963..c485967863d 100644
|
||||
--- a/mkspecs/common/g++-macx.conf
|
||||
+++ b/mkspecs/common/g++-macx.conf
|
||||
@@ -14,7 +14,13 @@ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -gdwarf-2
|
||||
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -gdwarf-2
|
||||
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += -g -gdwarf-2
|
||||
|
||||
-QMAKE_LFLAGS_STATIC_LIB += -all_load
|
||||
+# Patch: Don't remember :(
|
||||
+#QMAKE_LFLAGS_STATIC_LIB += -all_load
|
||||
+
|
||||
+# Patch: Use C++14 with custom libc++ build.
|
||||
+QMAKE_CXXFLAGS_CXX11 = -std=c++1y
|
||||
+QMAKE_CXXFLAGS += -nostdinc++ -I/usr/local/macold/include/c++/v1
|
||||
+QMAKE_LFLAGS += /usr/local/macold/lib/libc++.a /usr/local/macold/lib/libc++abi.a
|
||||
|
||||
QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvmgcc42
|
||||
|
||||
diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
|
||||
index 0cc8cd6dfdd..ca9725b7791 100644
|
||||
--- a/mkspecs/features/mac/default_pre.prf
|
||||
+++ b/mkspecs/features/mac/default_pre.prf
|
||||
@@ -12,7 +12,9 @@ isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
|
||||
error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
|
||||
|
||||
# Make sure Xcode is set up properly
|
||||
- isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \
|
||||
+
|
||||
+ # Patch: Fix Qt for working with Xcode 8.
|
||||
+ isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null"))): \
|
||||
error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")
|
||||
}
|
||||
|
||||
diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp
|
||||
index bb79a139b3c..5d595bc3b34 100644
|
||||
--- a/src/gui/image/qbmphandler.cpp
|
||||
+++ b/src/gui/image/qbmphandler.cpp
|
||||
@@ -220,6 +220,10 @@ static bool read_dib_body(QDataStream &s, const BMP_INFOHDR &bi, int offset, int
|
||||
int blue_scale = 0;
|
||||
int alpha_scale = 0;
|
||||
|
||||
+ // Patch: Backport a fix for bmp reader.
|
||||
+ if (!d->isSequential())
|
||||
+ d->seek(startpos + BMP_FILEHDR_SIZE + (bi.biSize >= BMP_WIN4? BMP_WIN : bi.biSize)); // goto start of colormap
|
||||
+
|
||||
if (bi.biSize >= BMP_WIN4 || (comp == BMP_BITFIELDS && (nbits == 16 || nbits == 32))) {
|
||||
if (d->read((char *)&red_mask, sizeof(red_mask)) != sizeof(red_mask))
|
||||
return false;
|
||||
@@ -307,8 +311,9 @@ static bool read_dib_body(QDataStream &s, const BMP_INFOHDR &bi, int offset, int
|
||||
image.setDotsPerMeterX(bi.biXPelsPerMeter);
|
||||
image.setDotsPerMeterY(bi.biYPelsPerMeter);
|
||||
|
||||
- if (!d->isSequential())
|
||||
- d->seek(startpos + BMP_FILEHDR_SIZE + (bi.biSize >= BMP_WIN4? BMP_WIN : bi.biSize)); // goto start of colormap
|
||||
+ // Patch: Backport a fix for bmp reader.
|
||||
+ //if (!d->isSequential())
|
||||
+ // d->seek(startpos + BMP_FILEHDR_SIZE + (bi.biSize >= BMP_WIN4? BMP_WIN : bi.biSize)); // goto start of colormap
|
||||
|
||||
if (ncols > 0) { // read color table
|
||||
uchar rgb[4];
|
||||
diff --git a/src/gui/painting/qpaintengine_p.h b/src/gui/painting/qpaintengine_p.h
|
||||
index ebff9509ab2..4300ca4c0f0 100644
|
||||
--- a/src/gui/painting/qpaintengine_p.h
|
||||
+++ b/src/gui/painting/qpaintengine_p.h
|
||||
@@ -87,8 +87,18 @@ public:
|
||||
if (hasSystemTransform) {
|
||||
if (systemTransform.type() <= QTransform::TxTranslate)
|
||||
systemClip.translate(qRound(systemTransform.dx()), qRound(systemTransform.dy()));
|
||||
- else
|
||||
+ // Patch: Transform the system clip region back from device pixels to device-independent pixels before
|
||||
+ // applying systemTransform, which already has transform from device-independent pixels to device pixels.
|
||||
+ else {
|
||||
+#ifdef Q_OS_MAC
|
||||
+ QTransform scaleTransform;
|
||||
+ const qreal invDevicePixelRatio = 1. / pdev->devicePixelRatio();
|
||||
+ scaleTransform.scale(invDevicePixelRatio, invDevicePixelRatio);
|
||||
+ systemClip = systemTransform.map(scaleTransform.map(systemClip));
|
||||
+#else
|
||||
systemClip = systemTransform.map(systemClip);
|
||||
+#endif
|
||||
+ }
|
||||
}
|
||||
|
||||
// Make sure we're inside the viewport.
|
||||
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
|
||||
index 4879ae51d7d..56cdcbaf01c 100644
|
||||
--- a/src/gui/text/qtextlayout.cpp
|
||||
+++ b/src/gui/text/qtextlayout.cpp
|
||||
@@ -654,6 +654,9 @@ int QTextLayout::nextCursorPosition(int oldPos, CursorMode mode) const
|
||||
while (oldPos < len && !attributes[oldPos].graphemeBoundary)
|
||||
oldPos++;
|
||||
} else {
|
||||
+ // Patch: Skip to the end of the current word, not to the start of the next one.
|
||||
+ while (oldPos < len && attributes[oldPos].whiteSpace)
|
||||
+ oldPos++;
|
||||
if (oldPos < len && d->atWordSeparator(oldPos)) {
|
||||
oldPos++;
|
||||
while (oldPos < len && d->atWordSeparator(oldPos))
|
||||
@@ -662,8 +665,9 @@ int QTextLayout::nextCursorPosition(int oldPos, CursorMode mode) const
|
||||
while (oldPos < len && !d->atSpace(oldPos) && !d->atWordSeparator(oldPos))
|
||||
oldPos++;
|
||||
}
|
||||
- while (oldPos < len && d->atSpace(oldPos))
|
||||
- oldPos++;
|
||||
+ // Patch: Skip to the end of the current word, not to the start of the next one.
|
||||
+ //while (oldPos < len && d->atSpace(oldPos))
|
||||
+ // oldPos++;
|
||||
}
|
||||
|
||||
return oldPos;
|
||||
@@ -1602,6 +1606,9 @@ namespace {
|
||||
int currentPosition;
|
||||
glyph_t previousGlyph;
|
||||
|
||||
+ // Patch: Backport a crash fix.
|
||||
+ QFontEngine *previousGlyphFontEngine;
|
||||
+
|
||||
QFixed minw;
|
||||
QFixed softHyphenWidth;
|
||||
QFixed rightBearing;
|
||||
@@ -1634,13 +1641,19 @@ namespace {
|
||||
if (currentPosition > 0 &&
|
||||
logClusters[currentPosition - 1] < glyphs.numGlyphs) {
|
||||
previousGlyph = currentGlyph(); // needed to calculate right bearing later
|
||||
+
|
||||
+ // Patch: Backport a crash fix.
|
||||
+ previousGlyphFontEngine = fontEngine;
|
||||
}
|
||||
}
|
||||
|
||||
- inline void adjustRightBearing(glyph_t glyph)
|
||||
+ // Patch: Backport a crash fix.
|
||||
+ inline void adjustRightBearing(QFontEngine *engine, glyph_t glyph)
|
||||
{
|
||||
qreal rb;
|
||||
- fontEngine->getGlyphBearings(glyph, 0, &rb);
|
||||
+
|
||||
+ // Patch: Backport a crash fix.
|
||||
+ engine->getGlyphBearings(glyph, 0, &rb);
|
||||
rightBearing = qMin(QFixed(), QFixed::fromReal(rb));
|
||||
}
|
||||
|
||||
@@ -1648,13 +1661,16 @@ namespace {
|
||||
{
|
||||
if (currentPosition <= 0)
|
||||
return;
|
||||
- adjustRightBearing(currentGlyph());
|
||||
+
|
||||
+ // Patch: Backport a crash fix.
|
||||
+ adjustRightBearing(fontEngine, currentGlyph());
|
||||
}
|
||||
|
||||
inline void adjustPreviousRightBearing()
|
||||
{
|
||||
if (previousGlyph > 0)
|
||||
- adjustRightBearing(previousGlyph);
|
||||
+ // Patch: Backport a crash fix.
|
||||
+ adjustRightBearing(previousGlyphFontEngine, previousGlyph);
|
||||
}
|
||||
|
||||
inline void resetRightBearing()
|
||||
diff --git a/src/gui/text/qtextlayout.h b/src/gui/text/qtextlayout.h
|
||||
index cbe42c38444..b273db7e78c 100644
|
||||
--- a/src/gui/text/qtextlayout.h
|
||||
+++ b/src/gui/text/qtextlayout.h
|
||||
@@ -194,6 +194,9 @@ private:
|
||||
QRectF *brect, int tabstops, int* tabarray, int tabarraylen,
|
||||
QPainter *painter);
|
||||
QTextEngine *d;
|
||||
+
|
||||
+ // Patch: Give access to the internal api.
|
||||
+ friend class TextBlock;
|
||||
};
|
||||
|
||||
|
||||
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
|
||||
index 360f9722c70..f28f289ef6a 100644
|
||||
--- a/src/network/access/qhttpnetworkconnection.cpp
|
||||
+++ b/src/network/access/qhttpnetworkconnection.cpp
|
||||
@@ -118,6 +118,8 @@ QHttpNetworkConnectionPrivate::~QHttpNetworkConnectionPrivate()
|
||||
{
|
||||
for (int i = 0; i < channelCount; ++i) {
|
||||
if (channels[i].socket) {
|
||||
+ // Patch: backport critical bugfix from '4f959b6b30' commit.
|
||||
+ QObject::disconnect(channels[i].socket, Q_NULLPTR, &channels[i], Q_NULLPTR);
|
||||
channels[i].socket->close();
|
||||
delete channels[i].socket;
|
||||
}
|
||||
diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
|
||||
index ca7afb7d1b9..25ae50008db 100644
|
||||
--- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
|
||||
+++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
|
||||
@@ -256,6 +256,13 @@ static void getFontDescription(CTFontDescriptorRef font, FontDescription *fd)
|
||||
|
||||
fd->foundryName = QStringLiteral("CoreText");
|
||||
fd->familyName = (CFStringRef) CTFontDescriptorCopyAttribute(font, kCTFontFamilyNameAttribute);
|
||||
+
|
||||
+ // Patch: Fix open sans semibold loading.
|
||||
+ QCFString _displayName = (CFStringRef) CTFontDescriptorCopyAttribute(font, kCTFontDisplayNameAttribute);
|
||||
+ if (_displayName == QStringLiteral("Open Sans Semibold")) {
|
||||
+ fd->familyName = _displayName;
|
||||
+ }
|
||||
+
|
||||
fd->styleName = (CFStringRef)CTFontDescriptorCopyAttribute(font, kCTFontStyleNameAttribute);
|
||||
fd->weight = QFont::Normal;
|
||||
fd->style = QFont::StyleNormal;
|
||||
diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
|
||||
index 6e2c8a2a9af..3cace8abcbc 100644
|
||||
--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
|
||||
+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
|
||||
@@ -717,7 +717,8 @@ void QCoreTextFontEngine::getUnscaledGlyph(glyph_t, QPainterPath *, glyph_metric
|
||||
|
||||
QFixed QCoreTextFontEngine::emSquareSize() const
|
||||
{
|
||||
- return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
|
||||
+ // Patch: Fix build for Xcode 9.3.1.
|
||||
+ return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
|
||||
}
|
||||
|
||||
QFontEngine *QCoreTextFontEngine::cloneWithSize(qreal pixelSize) const
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
|
||||
index 92358ecc745..694fee73507 100644
|
||||
--- a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
|
||||
@@ -213,7 +213,8 @@ static void cleanupCocoaApplicationDelegate()
|
||||
if (reflectionDelegate) {
|
||||
if ([reflectionDelegate respondsToSelector:@selector(applicationShouldTerminate:)])
|
||||
return [reflectionDelegate applicationShouldTerminate:sender];
|
||||
- return NSTerminateNow;
|
||||
+ // Patch: Don't terminate if reflectionDelegate does not respond to that selector, just use the default.
|
||||
+ //return NSTerminateNow;
|
||||
}
|
||||
|
||||
if ([self canQuit]) {
|
||||
@@ -289,6 +290,11 @@ static void cleanupCocoaApplicationDelegate()
|
||||
|
||||
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
|
||||
{
|
||||
+ // Patch: We need to receive this notification in the delegate as well.
|
||||
+ if (reflectionDelegate
|
||||
+ && [reflectionDelegate respondsToSelector:@selector(applicationDidFinishLaunching:)])
|
||||
+ [reflectionDelegate applicationDidFinishLaunching:aNotification];
|
||||
+
|
||||
Q_UNUSED(aNotification);
|
||||
inLaunch = false;
|
||||
// qt_release_apple_event_handler();
|
||||
@@ -411,7 +417,9 @@ static void cleanupCocoaApplicationDelegate()
|
||||
{
|
||||
Q_UNUSED(replyEvent);
|
||||
NSString *urlString = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
|
||||
- QWindowSystemInterface::handleFileOpenEvent(QUrl(QCFString::toQString(urlString)));
|
||||
+
|
||||
+ // Patch: Fix opening of an external url by a protocol handler.
|
||||
+ QWindowSystemInterface::handleFileOpenEvent(QUrl::fromNSURL([NSURL URLWithString:urlString]));
|
||||
}
|
||||
|
||||
- (void)appleEventQuit:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoacursor.mm b/src/plugins/platforms/cocoa/qcocoacursor.mm
|
||||
index b81b9a0b1c2..4e59e833b1d 100644
|
||||
--- a/src/plugins/platforms/cocoa/qcocoacursor.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoacursor.mm
|
||||
@@ -81,7 +81,7 @@ void QCocoaCursor::setPos(const QPoint &position)
|
||||
pos.x = position.x();
|
||||
pos.y = position.y();
|
||||
|
||||
- CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0);
|
||||
+ CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, kCGMouseButtonLeft);
|
||||
CGEventPost(kCGHIDEventTap, e);
|
||||
CFRelease(e);
|
||||
}
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.mm b/src/plugins/platforms/cocoa/qcocoahelpers.mm
|
||||
index 9850f83dea8..b2e1d3dfda7 100644
|
||||
--- a/src/plugins/platforms/cocoa/qcocoahelpers.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoahelpers.mm
|
||||
@@ -649,9 +649,10 @@ OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGIm
|
||||
// Verbatim copy if HIViewDrawCGImage (as shown on Carbon-Dev)
|
||||
OSStatus err = noErr;
|
||||
|
||||
- require_action(inContext != NULL, InvalidContext, err = paramErr);
|
||||
- require_action(inBounds != NULL, InvalidBounds, err = paramErr);
|
||||
- require_action(inImage != NULL, InvalidImage, err = paramErr);
|
||||
+ // Patch: Fix build on latest Xcode.
|
||||
+ //require_action(inContext != NULL, InvalidContext, err = paramErr);
|
||||
+ //require_action(inBounds != NULL, InvalidBounds, err = paramErr);
|
||||
+ //require_action(inImage != NULL, InvalidImage, err = paramErr);
|
||||
|
||||
CGContextSaveGState( inContext );
|
||||
CGContextTranslateCTM (inContext, 0, inBounds->origin.y + CGRectGetMaxY(*inBounds));
|
||||
@@ -660,9 +661,11 @@ OSStatus qt_mac_drawCGImage(CGContextRef inContext, const CGRect *inBounds, CGIm
|
||||
CGContextDrawImage(inContext, *inBounds, inImage);
|
||||
|
||||
CGContextRestoreGState(inContext);
|
||||
-InvalidImage:
|
||||
-InvalidBounds:
|
||||
-InvalidContext:
|
||||
+
|
||||
+// Patch: Fix build on latest Xcode.
|
||||
+//InvalidImage:
|
||||
+//InvalidBounds:
|
||||
+//InvalidContext:
|
||||
return err;
|
||||
}
|
||||
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
|
||||
index 9fd05a65ee9..dea60720e78 100644
|
||||
--- a/src/plugins/platforms/cocoa/qcocoaintegration.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm
|
||||
@@ -402,14 +402,24 @@ void QCocoaIntegration::updateScreens()
|
||||
}
|
||||
siblings << screen;
|
||||
}
|
||||
+
|
||||
+ // Patch: Backport crash fix from Qt 5.6.1.
|
||||
+ // Set virtual siblings list. All screens in mScreens are siblings, because we ignored the
|
||||
+ // mirrors. Note that some of the screens we update the siblings list for here may be deleted
|
||||
+ // below, but update anyway to keep the to-be-deleted screens out of the siblings list.
|
||||
+ foreach (QCocoaScreen* screen, mScreens)
|
||||
+ screen->setVirtualSiblings(siblings);
|
||||
+
|
||||
// Now the leftovers in remainingScreens are no longer current, so we can delete them.
|
||||
foreach (QCocoaScreen* screen, remainingScreens) {
|
||||
mScreens.removeOne(screen);
|
||||
delete screen;
|
||||
}
|
||||
+
|
||||
+ // Patch: Backport crash fix from Qt 5.6.1.
|
||||
// All screens in mScreens are siblings, because we ignored the mirrors.
|
||||
- foreach (QCocoaScreen* screen, mScreens)
|
||||
- screen->setVirtualSiblings(siblings);
|
||||
+ //foreach (QCocoaScreen* screen, mScreens)
|
||||
+ // screen->setVirtualSiblings(siblings);
|
||||
}
|
||||
|
||||
QCocoaScreen *QCocoaIntegration::screenAtIndex(int index)
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.mm b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
|
||||
index e46eaff6be3..c62db534a2d 100644
|
||||
--- a/src/plugins/platforms/cocoa/qcocoakeymapper.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
|
||||
@@ -382,6 +382,12 @@ bool QCocoaKeyMapper::updateKeyboard()
|
||||
keyboardInputLocale = QLocale::c();
|
||||
keyboardInputDirection = Qt::LeftToRight;
|
||||
}
|
||||
+
|
||||
+ // Patch: Backport a fix for layout-independent keyboard shortcuts.
|
||||
+ const auto newMode = keyboard_mode;
|
||||
+ deleteLayouts();
|
||||
+ keyboard_mode = newMode;
|
||||
+
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -464,7 +470,8 @@ QList<int> QCocoaKeyMapper::possibleKeys(const QKeyEvent *event) const
|
||||
Qt::KeyboardModifiers neededMods = ModsTbl[i];
|
||||
int key = kbItem->qtKey[i];
|
||||
if (key && key != baseKey && ((keyMods & neededMods) == neededMods)) {
|
||||
- ret << int(key + (keyMods & ~neededMods));
|
||||
+ // Patch: Backport a fix for layout-independent keyboard shortcuts.
|
||||
+ ret << int(key + neededMods);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
index 83c960d9317..03ae9696afe 100755
|
||||
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
|
||||
@@ -102,7 +102,10 @@ QT_USE_NAMESPACE
|
||||
QCocoaSystemTrayIcon *systray;
|
||||
NSStatusItem *item;
|
||||
QCocoaMenu *menu;
|
||||
- bool menuVisible;
|
||||
+
|
||||
+ // Patch: Nice macOS tray icon support.
|
||||
+ bool menuVisible, iconSelected;
|
||||
+
|
||||
QIcon icon;
|
||||
QT_MANGLE_NAMESPACE(QNSImageView) *imageCell;
|
||||
}
|
||||
@@ -124,6 +127,10 @@ QT_USE_NAMESPACE
|
||||
QT_MANGLE_NAMESPACE(QNSStatusItem) *parent;
|
||||
}
|
||||
-(id)initWithParent:(QT_MANGLE_NAMESPACE(QNSStatusItem)*)myParent;
|
||||
+
|
||||
+// Patch: Nice macOS tray icon support.
|
||||
+-(void)updateIconSelection;
|
||||
+
|
||||
-(void)menuTrackingDone:(NSNotification*)notification;
|
||||
-(void)mousePressed:(NSEvent *)mouseEvent button:(Qt::MouseButton)mouseButton;
|
||||
@end
|
||||
@@ -187,6 +194,19 @@ void QCocoaSystemTrayIcon::cleanup()
|
||||
m_sys = 0;
|
||||
}
|
||||
|
||||
+// Patch: Nice macOS tray icon support.
|
||||
+namespace {
|
||||
+
|
||||
+qreal getDevicePixelRatio() {
|
||||
+ qreal result = 1.0;
|
||||
+ foreach (QScreen *screen, QGuiApplication::screens()) {
|
||||
+ result = qMax(result, screen->devicePixelRatio());
|
||||
+ }
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+} // namespace
|
||||
+
|
||||
void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
|
||||
{
|
||||
if (!m_sys)
|
||||
@@ -194,13 +214,18 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
|
||||
|
||||
m_sys->item->icon = icon;
|
||||
|
||||
- const bool menuVisible = m_sys->item->menu && m_sys->item->menuVisible;
|
||||
+ // Patch: Nice macOS tray icon support.
|
||||
+ //const bool menuVisible = m_sys->item->menu && m_sys->item->menuVisible;
|
||||
|
||||
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
|
||||
- const short scale = hgt - 4;
|
||||
+ const int padding = 0;
|
||||
+ const int menuHeight = [[NSStatusBar systemStatusBar] thickness];
|
||||
+ const int maxImageHeight = menuHeight - padding;
|
||||
+
|
||||
+ const short scale = maxImageHeight * getDevicePixelRatio();
|
||||
|
||||
QPixmap pm = m_sys->item->icon.pixmap(QSize(scale, scale),
|
||||
- menuVisible ? QIcon::Selected : QIcon::Normal);
|
||||
+ // Patch: Nice macOS tray icon support.
|
||||
+ m_sys->item->iconSelected ? QIcon::Selected : QIcon::Normal);
|
||||
if (pm.isNull()) {
|
||||
pm = QPixmap(scale, scale);
|
||||
pm.fill(Qt::transparent);
|
||||
@@ -322,15 +347,16 @@ QT_END_NAMESPACE
|
||||
return self;
|
||||
}
|
||||
|
||||
--(void)menuTrackingDone:(NSNotification*)notification
|
||||
+// Patch: Nice macOS tray icon support.
|
||||
+-(void)updateIconSelection
|
||||
{
|
||||
- Q_UNUSED(notification);
|
||||
- down = NO;
|
||||
+ const int padding = 0;
|
||||
+ const int menuHeight = [[NSStatusBar systemStatusBar] thickness];
|
||||
+ const int maxImageHeight = menuHeight - padding;
|
||||
|
||||
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
|
||||
- const short scale = hgt - 4;
|
||||
-
|
||||
- QPixmap pm = parent->icon.pixmap(QSize(scale, scale), QIcon::Normal);
|
||||
+ const short scale = maxImageHeight * getDevicePixelRatio();
|
||||
+ QPixmap pm = parent->icon.pixmap(QSize(scale, scale),
|
||||
+ parent->iconSelected ? QIcon::Selected : QIcon::Normal);
|
||||
if (pm.isNull()) {
|
||||
pm = QPixmap(scale, scale);
|
||||
pm.fill(Qt::transparent);
|
||||
@@ -338,9 +364,19 @@ QT_END_NAMESPACE
|
||||
NSImage *nsaltimage = static_cast<NSImage *>(qt_mac_create_nsimage(pm));
|
||||
[self setImage: nsaltimage];
|
||||
[nsaltimage release];
|
||||
+}
|
||||
+
|
||||
+-(void)menuTrackingDone:(NSNotification*)notification
|
||||
+{
|
||||
+ Q_UNUSED(notification);
|
||||
+ down = NO;
|
||||
|
||||
parent->menuVisible = false;
|
||||
|
||||
+ // Patch: Nice macOS tray icon support.
|
||||
+ parent->iconSelected = false;
|
||||
+ [self updateIconSelection];
|
||||
+
|
||||
[self setNeedsDisplay:YES];
|
||||
}
|
||||
|
||||
@@ -350,18 +386,9 @@ QT_END_NAMESPACE
|
||||
int clickCount = [mouseEvent clickCount];
|
||||
[self setNeedsDisplay:YES];
|
||||
|
||||
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
|
||||
- const short scale = hgt - 4;
|
||||
-
|
||||
- QPixmap pm = parent->icon.pixmap(QSize(scale, scale),
|
||||
- parent->menuVisible ? QIcon::Selected : QIcon::Normal);
|
||||
- if (pm.isNull()) {
|
||||
- pm = QPixmap(scale, scale);
|
||||
- pm.fill(Qt::transparent);
|
||||
- }
|
||||
- NSImage *nsaltimage = static_cast<NSImage *>(qt_mac_create_nsimage(pm));
|
||||
- [self setImage: nsaltimage];
|
||||
- [nsaltimage release];
|
||||
+ // Patch: Nice macOS tray icon support.
|
||||
+ parent->iconSelected = (clickCount != 2) && parent->menu;
|
||||
+ [self updateIconSelection];
|
||||
|
||||
if (clickCount == 2) {
|
||||
[self menuTrackingDone:nil];
|
||||
@@ -380,6 +407,10 @@ QT_END_NAMESPACE
|
||||
{
|
||||
Q_UNUSED(mouseEvent);
|
||||
[self menuTrackingDone:nil];
|
||||
+
|
||||
+ // Patch: Nice macOS tray icon support.
|
||||
+ parent->iconSelected = false;
|
||||
+ [self updateIconSelection];
|
||||
}
|
||||
|
||||
- (void)rightMouseDown:(NSEvent *)mouseEvent
|
||||
@@ -391,6 +422,10 @@ QT_END_NAMESPACE
|
||||
{
|
||||
Q_UNUSED(mouseEvent);
|
||||
[self menuTrackingDone:nil];
|
||||
+
|
||||
+ // Patch: Nice macOS tray icon support.
|
||||
+ parent->iconSelected = false;
|
||||
+ [self updateIconSelection];
|
||||
}
|
||||
|
||||
- (void)otherMouseDown:(NSEvent *)mouseEvent
|
||||
@@ -405,7 +440,8 @@ QT_END_NAMESPACE
|
||||
}
|
||||
|
||||
-(void)drawRect:(NSRect)rect {
|
||||
- [[parent item] drawStatusBarBackgroundInRect:rect withHighlight:down];
|
||||
+ // Patch: Nice macOS tray icon support.
|
||||
+ [[parent item] drawStatusBarBackgroundInRect:rect withHighlight:parent->menu ? down : NO];
|
||||
[super drawRect:rect];
|
||||
}
|
||||
@end
|
||||
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
|
||||
index 4d0458a4aa2..3357a5ef817 100644
|
||||
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
|
||||
@@ -167,7 +167,8 @@ static bool isMouseEvent(NSEvent *ev)
|
||||
if (!self.window.delegate)
|
||||
return; // Already detached, pending NSAppKitDefined event
|
||||
|
||||
- if (pw && pw->frameStrutEventsEnabled() && isMouseEvent(theEvent)) {
|
||||
+ // Patch: Fix events loss if the window was minimized or hidden.
|
||||
+ if (pw && pw->frameStrutEventsEnabled() && pw->m_synchedWindowState != Qt::WindowMinimized && pw->m_isExposed && isMouseEvent(theEvent)) {
|
||||
NSPoint loc = [theEvent locationInWindow];
|
||||
NSRect windowFrame = [self.window legacyConvertRectFromScreen:[self.window frame]];
|
||||
NSRect contentFrame = [[self.window contentView] frame];
|
||||
@@ -795,6 +796,16 @@ NSUInteger QCocoaWindow::windowStyleMask(Qt::WindowFlags flags)
|
||||
{
|
||||
Qt::WindowType type = static_cast<Qt::WindowType>(int(flags & Qt::WindowType_Mask));
|
||||
NSInteger styleMask = NSBorderlessWindowMask;
|
||||
+
|
||||
+ // Patch: allow creating panels floating on all spaces in macOS.
|
||||
+ // If you call "setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary" before
|
||||
+ // setting the "NSNonactivatingPanelMask" bit in the style mask it won't work after that.
|
||||
+ // So we need a way to set that bit before Qt sets collection behavior the way it does.
|
||||
+ QVariant nonactivatingPanelMask = window()->property("_td_macNonactivatingPanelMask");
|
||||
+ if (nonactivatingPanelMask.isValid() && nonactivatingPanelMask.toBool()) {
|
||||
+ styleMask |= NSNonactivatingPanelMask;
|
||||
+ }
|
||||
+
|
||||
if (flags & Qt::FramelessWindowHint)
|
||||
return styleMask;
|
||||
if ((type & Qt::Popup) == Qt::Popup) {
|
||||
@@ -914,6 +925,19 @@ void QCocoaWindow::setWindowFilePath(const QString &filePath)
|
||||
[m_nsWindow setRepresentedFilename: fi.exists() ? QCFString::toNSString(filePath) : @""];
|
||||
}
|
||||
|
||||
+// Patch: Nice macOS window icon.
|
||||
+namespace {
|
||||
+
|
||||
+qreal getDevicePixelRatio() {
|
||||
+ qreal result = 1.0;
|
||||
+ foreach (QScreen *screen, QGuiApplication::screens()) {
|
||||
+ result = qMax(result, screen->devicePixelRatio());
|
||||
+ }
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+} // namespace
|
||||
+
|
||||
void QCocoaWindow::setWindowIcon(const QIcon &icon)
|
||||
{
|
||||
QCocoaAutoReleasePool pool;
|
||||
@@ -929,7 +953,10 @@ void QCocoaWindow::setWindowIcon(const QIcon &icon)
|
||||
if (icon.isNull()) {
|
||||
[iconButton setImage:nil];
|
||||
} else {
|
||||
- QPixmap pixmap = icon.pixmap(QSize(22, 22));
|
||||
+ // Patch: Nice macOS window icon.
|
||||
+ CGFloat hgt = 16. * getDevicePixelRatio();
|
||||
+ QPixmap pixmap = icon.pixmap(QSize(hgt, hgt));
|
||||
+
|
||||
NSImage *image = static_cast<NSImage *>(qt_mac_create_nsimage(pixmap));
|
||||
[iconButton setImage:image];
|
||||
[image release];
|
||||
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
|
||||
index a18ee7ff71d..1f91feb0ae8 100644
|
||||
--- a/src/plugins/platforms/cocoa/qnsview.mm
|
||||
+++ b/src/plugins/platforms/cocoa/qnsview.mm
|
||||
@@ -393,7 +393,9 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
|
||||
[self notifyWindowStateChanged:newState];
|
||||
// NSWindowDidOrderOnScreenAndFinishAnimatingNotification is private API, and not
|
||||
// emitted in 10.6, so we bring back the old behavior for that case alone.
|
||||
- if (newState == Qt::WindowNoState && QSysInfo::QSysInfo::MacintoshVersion == QSysInfo::MV_10_6)
|
||||
+
|
||||
+ // Patch: Fix macOS window show after window was hidden.
|
||||
+ if (newState == Qt::WindowNoState/* && QSysInfo::QSysInfo::MacintoshVersion == QSysInfo::MV_10_6*/)
|
||||
m_platformWindow->exposeWindow();
|
||||
} else if ([notificationName isEqualToString: @"NSWindowDidOrderOffScreenNotification"]) {
|
||||
m_platformWindow->obscureWindow();
|
||||
@@ -1300,7 +1302,9 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_8
|
||||
if (QSysInfo::QSysInfo::MacintoshVersion >= QSysInfo::MV_10_8) {
|
||||
// On 10.8 and above, MayBegin is likely to happen. We treat it the same as an actual begin.
|
||||
- if (phase == NSEventPhaseMayBegin)
|
||||
+
|
||||
+ // Patch: Actual begin should be treated as begin as well.
|
||||
+ if (phase == NSEventPhaseMayBegin || phase == NSEventPhaseBegan)
|
||||
ph = Qt::ScrollBegin;
|
||||
} else
|
||||
#endif
|
||||
@@ -1366,14 +1370,22 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
|
||||
quint32 nativeVirtualKey = [nsevent keyCode];
|
||||
|
||||
QChar ch = QChar::ReplacementCharacter;
|
||||
- int keyCode = Qt::Key_unknown;
|
||||
- if ([characters length] != 0) {
|
||||
- if (((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)) && ([charactersIgnoringModifiers length] != 0))
|
||||
- ch = QChar([charactersIgnoringModifiers characterAtIndex:0]);
|
||||
- else
|
||||
- ch = QChar([characters characterAtIndex:0]);
|
||||
- keyCode = [self convertKeyCode:ch];
|
||||
- }
|
||||
+
|
||||
+ // Patch: Backport a fix for layout-independent shortcuts.
|
||||
+ if ([characters length] != 0) // https://bugreports.qt.io/browse/QTBUG-42584
|
||||
+ ch = QChar([characters characterAtIndex:0]);
|
||||
+ else if ([charactersIgnoringModifiers length] != 0 && ((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)))
|
||||
+ ch = QChar([charactersIgnoringModifiers characterAtIndex:0]);
|
||||
+
|
||||
+ int keyCode = [self convertKeyCode:ch];
|
||||
+ //int keyCode = Qt::Key_unknown;
|
||||
+ //if ([characters length] != 0) {
|
||||
+ // if (((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)) && ([charactersIgnoringModifiers length] != 0))
|
||||
+ // ch = QChar([charactersIgnoringModifiers characterAtIndex:0]);
|
||||
+ // else
|
||||
+ // ch = QChar([characters characterAtIndex:0]);
|
||||
+ // keyCode = [self convertKeyCode:ch];
|
||||
+ //}
|
||||
|
||||
// we will send a key event unless the input method sets m_sendKeyEvent to false
|
||||
m_sendKeyEvent = true;
|
||||
@@ -1437,6 +1449,11 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
|
||||
&& qtKey == Qt::Key_Period) {
|
||||
[self handleKeyEvent:nsevent eventType:int(QEvent::KeyPress)];
|
||||
return YES;
|
||||
+
|
||||
+ // Patch: Allow us to handle Ctrl+Tab and Ctrl+Backtab in the app.
|
||||
+ } else if ([nsevent modifierFlags] & NSControlKeyMask && (qtKey == Qt::Key_Tab || qtKey == Qt::Key_Backtab)) {
|
||||
+ [self handleKeyEvent:nsevent eventType:int(QEvent::KeyPress)];
|
||||
+ return YES;
|
||||
}
|
||||
}
|
||||
return [super performKeyEquivalent:nsevent];
|
||||
diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp
|
||||
index c68076477f3..e2a7aafa586 100644
|
||||
--- a/src/tools/qlalr/lalr.cpp
|
||||
+++ b/src/tools/qlalr/lalr.cpp
|
||||
@@ -246,11 +246,13 @@ void Grammar::buildExtendedGrammar ()
|
||||
non_terminals.insert (accept_symbol);
|
||||
}
|
||||
|
||||
-struct _Nullable: public std::unary_function<Name, bool>
|
||||
+// Patch: Fix building with the new SDK.
|
||||
+struct __Nullable: public std::unary_function<Name, bool>
|
||||
{
|
||||
Automaton *_M_automaton;
|
||||
|
||||
- _Nullable (Automaton *aut):
|
||||
+ // Patch: Fix building with the new SDK.
|
||||
+ __Nullable (Automaton *aut):
|
||||
_M_automaton (aut) {}
|
||||
|
||||
bool operator () (Name name) const
|
||||
@@ -308,7 +310,8 @@ void Automaton::buildNullables ()
|
||||
|
||||
for (RulePointer rule = _M_grammar->rules.begin (); rule != _M_grammar->rules.end (); ++rule)
|
||||
{
|
||||
- NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (_Nullable (this)));
|
||||
+ // Patch: Fix building with the new SDK.
|
||||
+ NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (__Nullable (this)));
|
||||
|
||||
if (nn == rule->rhs.end ())
|
||||
changed |= nullables.insert (rule->lhs).second;
|
||||
@@ -643,7 +646,8 @@ void Automaton::buildIncludesDigraph ()
|
||||
if (! _M_grammar->isNonTerminal (*A))
|
||||
continue;
|
||||
|
||||
- NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (_Nullable (this)));
|
||||
+ // Patch: Fix building with the new SDK.
|
||||
+ NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (__Nullable (this)));
|
||||
if (first_not_nullable != rule->rhs.end ())
|
||||
continue;
|
||||
|
||||
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
|
||||
index 7396808442e..7178aecf800 100644
|
||||
--- a/src/widgets/kernel/qwidget.cpp
|
||||
+++ b/src/widgets/kernel/qwidget.cpp
|
||||
@@ -4722,6 +4722,17 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
|
||||
return; // Fully transparent.
|
||||
|
||||
Q_D(QWidget);
|
||||
+
|
||||
+ // Patch: save and restore dirtyOpaqueChildren field.
|
||||
+ //
|
||||
+ // Just like in QWidget::grab() this field should be restored
|
||||
+ // after the d->render() call, because it will be set to 1 and
|
||||
+ // opaqueChildren field will be filled with empty region in
|
||||
+ // case the widget is hidden (because all the opaque children
|
||||
+ // will be skipped in isVisible() check).
|
||||
+ //
|
||||
+ const bool oldDirtyOpaqueChildren = d->dirtyOpaqueChildren;
|
||||
+
|
||||
const bool inRenderWithPainter = d->extra && d->extra->inRenderWithPainter;
|
||||
const QRegion toBePainted = !inRenderWithPainter ? d->prepareToRender(sourceRegion, renderFlags)
|
||||
: sourceRegion;
|
||||
@@ -4743,6 +4754,10 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
|
||||
if (!inRenderWithPainter && (opacity < 1.0 || (target->devType() == QInternal::Printer))) {
|
||||
d->render_helper(painter, targetOffset, toBePainted, renderFlags);
|
||||
d->extra->inRenderWithPainter = inRenderWithPainter;
|
||||
+
|
||||
+ // Patch: save and restore dirtyOpaqueChildren field.
|
||||
+ d->dirtyOpaqueChildren = oldDirtyOpaqueChildren;
|
||||
+
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4774,6 +4789,9 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
|
||||
d->setSharedPainter(oldPainter);
|
||||
|
||||
d->extra->inRenderWithPainter = inRenderWithPainter;
|
||||
+
|
||||
+ // Patch: save and restore dirtyOpaqueChildren field.
|
||||
+ d->dirtyOpaqueChildren = oldDirtyOpaqueChildren;
|
||||
}
|
||||
|
||||
static void sendResizeEvents(QWidget *target)
|
||||
@@ -7983,7 +8001,8 @@ bool QWidget::event(QEvent *event)
|
||||
case QEvent::KeyPress: {
|
||||
QKeyEvent *k = (QKeyEvent *)event;
|
||||
bool res = false;
|
||||
- if (!(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier))) { //### Add MetaModifier?
|
||||
+ // Patch: Allow us to handle Ctrl+Tab and Ctrl+Backtab in the app.
|
||||
+ if (!(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier | Qt::MetaModifier))) { //### Add MetaModifier?
|
||||
if (k->key() == Qt::Key_Backtab
|
||||
|| (k->key() == Qt::Key_Tab && (k->modifiers() & Qt::ShiftModifier)))
|
||||
res = focusNextPrevChild(false);
|
||||
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm
|
||||
index 0845a5eb02f..5735cb6b396 100644
|
||||
--- a/src/widgets/styles/qmacstyle_mac.mm
|
||||
+++ b/src/widgets/styles/qmacstyle_mac.mm
|
||||
@@ -3667,9 +3667,11 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
|
||||
|
||||
NSBezierPath *pushButtonFocusRingPath;
|
||||
if (bdi.kind == kThemeBevelButton)
|
||||
- pushButtonFocusRingPath = [NSBezierPath bezierPathWithRect:focusRect];
|
||||
+ // Patch: Fix building with the new SDK.
|
||||
+ pushButtonFocusRingPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(focusRect)];
|
||||
else
|
||||
- pushButtonFocusRingPath = [NSBezierPath bezierPathWithRoundedRect:focusRect xRadius:4 yRadius:4];
|
||||
+ // Patch: Fix building with the new SDK.
|
||||
+ pushButtonFocusRingPath = [NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(focusRect) xRadius:4 yRadius:4];
|
||||
qt_drawFocusRingOnPath(cg, pushButtonFocusRingPath);
|
||||
}
|
||||
|
||||
diff --git a/src/widgets/util/qsystemtrayicon_qpa.cpp b/src/widgets/util/qsystemtrayicon_qpa.cpp
|
||||
index f98aeaf6782..00c0734129e 100644
|
||||
--- a/src/widgets/util/qsystemtrayicon_qpa.cpp
|
||||
+++ b/src/widgets/util/qsystemtrayicon_qpa.cpp
|
||||
@@ -99,13 +99,18 @@ void QSystemTrayIconPrivate::updateIcon_sys()
|
||||
|
||||
void QSystemTrayIconPrivate::updateMenu_sys()
|
||||
{
|
||||
- if (qpa_sys && menu) {
|
||||
- if (!menu->platformMenu()) {
|
||||
- QPlatformMenu *platformMenu = qpa_sys->createMenu();
|
||||
- if (platformMenu)
|
||||
- menu->setPlatformMenu(platformMenu);
|
||||
+ // Patch: Nice macOS tray icon support.
|
||||
+ if (qpa_sys) {
|
||||
+ if (menu) {
|
||||
+ if (!menu->platformMenu()) {
|
||||
+ QPlatformMenu *platformMenu = qpa_sys->createMenu();
|
||||
+ if (platformMenu)
|
||||
+ menu->setPlatformMenu(platformMenu);
|
||||
+ }
|
||||
+ qpa_sys->updateMenu(menu->platformMenu());
|
||||
+ } else {
|
||||
+ qpa_sys->updateMenu(0);
|
||||
}
|
||||
- qpa_sys->updateMenu(menu->platformMenu());
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp
|
||||
index 75f30599be4..980f2be1e93 100644
|
||||
--- a/src/widgets/widgets/qwidgetlinecontrol.cpp
|
||||
+++ b/src/widgets/widgets/qwidgetlinecontrol.cpp
|
||||
@@ -1867,7 +1867,8 @@ void QWidgetLineControl::processKeyEvent(QKeyEvent* event)
|
||||
|
||||
if (unknown && !isReadOnly()) {
|
||||
QString t = event->text();
|
||||
- if (!t.isEmpty() && t.at(0).isPrint()) {
|
||||
+ // Patch: Enable ZWJ and ZWNJ characters to be in text input.
|
||||
+ if (!t.isEmpty() && (t.at(0).isPrint() || t.at(0).unicode() == 0x200C || t.at(0).unicode() == 0x200D)) {
|
||||
insert(t);
|
||||
#ifndef QT_NO_COMPLETER
|
||||
complete(event->key());
|
||||
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
|
||||
index 96438a0bdf7..b0b72064056 100644
|
||||
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
|
||||
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
|
||||
@@ -1342,7 +1342,8 @@ void QWidgetTextControlPrivate::keyPressEvent(QKeyEvent *e)
|
||||
process:
|
||||
{
|
||||
QString text = e->text();
|
||||
- if (!text.isEmpty() && (text.at(0).isPrint() || text.at(0) == QLatin1Char('\t'))) {
|
||||
+ // Patch: Enable ZWJ and ZWNJ characters to be in text input.
|
||||
+ if (!text.isEmpty() && (text.at(0).isPrint() || text.at(0) == QLatin1Char('\t') || text.at(0).unicode() == 0x200C || text.at(0).unicode() == 0x200D)) {
|
||||
if (overwriteMode
|
||||
// no need to call deleteChar() if we have a selection, insertText
|
||||
// does it already
|
||||
47
Telegram/Patches/macold/qtimageformats_5_3_2.diff
Normal file
@@ -0,0 +1,47 @@
|
||||
diff --git a/src/3rdparty/libwebp/src/dec/vp8l.c b/src/3rdparty/libwebp/src/dec/vp8l.c
|
||||
index ea0254d..953ff01 100644
|
||||
--- a/src/3rdparty/libwebp/src/dec/vp8l.c
|
||||
+++ b/src/3rdparty/libwebp/src/dec/vp8l.c
|
||||
@@ -12,7 +12,7 @@
|
||||
// Authors: Vikas Arora (vikaas.arora@gmail.com)
|
||||
// Jyrki Alakuijala (jyrki@google.com)
|
||||
|
||||
-#include <stdio.h>
|
||||
+// Patch: Backport of a crash fix.
|
||||
#include <stdlib.h>
|
||||
#include "./alphai.h"
|
||||
#include "./vp8li.h"
|
||||
@@ -740,6 +740,10 @@ static int DecodeAlphaData(VP8LDecoder* const dec, uint8_t* const data,
|
||||
const int len_code_limit = NUM_LITERAL_CODES + NUM_LENGTH_CODES;
|
||||
const int mask = hdr->huffman_mask_;
|
||||
assert(htree_group != NULL);
|
||||
+
|
||||
+ // Patch: Backport of a crash fix.
|
||||
+ assert(pos < end);
|
||||
+
|
||||
assert(last_row <= height);
|
||||
assert(Is8bOptimizable(hdr));
|
||||
|
||||
@@ -830,6 +834,10 @@ static int DecodeImageData(VP8LDecoder* const dec, uint32_t* const data,
|
||||
(hdr->color_cache_size_ > 0) ? &hdr->color_cache_ : NULL;
|
||||
const int mask = hdr->huffman_mask_;
|
||||
assert(htree_group != NULL);
|
||||
+
|
||||
+ // Patch: Backport of a crash fix.
|
||||
+ assert(src < src_end);
|
||||
+
|
||||
assert(src_last <= src_end);
|
||||
|
||||
while (!br->eos_ && src < src_last) {
|
||||
@@ -1294,6 +1302,11 @@ int VP8LDecodeAlphaImageStream(ALPHDecoder* const alph_dec, int last_row) {
|
||||
assert(dec->action_ == READ_DATA);
|
||||
assert(last_row <= dec->height_);
|
||||
|
||||
+ // Patch: Backport of a crash fix.
|
||||
+ if (dec->last_pixel_ == dec->width_ * dec->height_) {
|
||||
+ return 1; // done
|
||||
+ }
|
||||
+
|
||||
// Decode (with special row processing).
|
||||
return alph_dec->use_8b_decode ?
|
||||
DecodeAlphaData(dec, (uint8_t*)dec->pixels_, dec->width_, dec->height_,
|
||||
52
Telegram/Patches/mini_chromium.diff
Normal file
@@ -0,0 +1,52 @@
|
||||
diff --git a/base/mac/scoped_nsobject.h b/base/mac/scoped_nsobject.h
|
||||
index 2e157a4..5a306a1 100644
|
||||
--- a/base/mac/scoped_nsobject.h
|
||||
+++ b/base/mac/scoped_nsobject.h
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/mac/scoped_typeref.h"
|
||||
+#include "base/template_util.h"
|
||||
|
||||
namespace base {
|
||||
|
||||
@@ -55,7 +56,7 @@ class scoped_nsobject : public scoped_nsprotocol<NST*> {
|
||||
public:
|
||||
using scoped_nsprotocol<NST*>::scoped_nsprotocol;
|
||||
|
||||
- static_assert(std::is_same<NST, NSAutoreleasePool>::value == false,
|
||||
+ static_assert(is_same<NST, NSAutoreleasePool>::value == false,
|
||||
"Use ScopedNSAutoreleasePool instead");
|
||||
};
|
||||
|
||||
diff --git a/base/macros.h b/base/macros.h
|
||||
index 5d96783..096704c 100644
|
||||
--- a/base/macros.h
|
||||
+++ b/base/macros.h
|
||||
@@ -42,8 +42,9 @@ char (&ArraySizeHelper(const T (&array)[N]))[N];
|
||||
|
||||
template <typename Dest, typename Source>
|
||||
inline Dest bit_cast(const Source& source) {
|
||||
+#if __cplusplus >= 201103L
|
||||
static_assert(sizeof(Dest) == sizeof(Source), "sizes must be equal");
|
||||
-
|
||||
+#endif
|
||||
Dest dest;
|
||||
memcpy(&dest, &source, sizeof(dest));
|
||||
return dest;
|
||||
diff --git a/build/common.gypi b/build/common.gypi
|
||||
index 1affc70..6e8f292 100644
|
||||
--- a/build/common.gypi
|
||||
+++ b/build/common.gypi
|
||||
@@ -66,6 +66,11 @@
|
||||
'conditions': [
|
||||
['clang!=0', {
|
||||
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', # -std=c++11
|
||||
+ 'conditions': [
|
||||
+ ['mac_deployment_target=="10.8"', {
|
||||
+ 'CLANG_CXX_LIBRARY': 'libc++', # force -stdlib=libc++ for 10.8
|
||||
+ }]
|
||||
+ ],
|
||||
|
||||
# Don't link in libarclite_macosx.a, see http://crbug.com/156530.
|
||||
'CLANG_LINK_OBJC_RUNTIME': 'NO', # -fno-objc-link-runtime
|
||||
22
Telegram/Patches/openal.diff
Normal file
@@ -0,0 +1,22 @@
|
||||
diff --git a/Alc/backends/winmm.c b/Alc/backends/winmm.c
|
||||
index 9d8f8e9..8c8e44a 100644
|
||||
--- a/Alc/backends/winmm.c
|
||||
+++ b/Alc/backends/winmm.c
|
||||
@@ -219,7 +219,7 @@ FORCE_ALIGN static int ALCwinmmPlayback_mixerProc(void *arg)
|
||||
SetRTPriority();
|
||||
althrd_setname(althrd_current(), MIXER_THREAD_NAME);
|
||||
|
||||
- while(GetMessage(&msg, NULL, 0, 0))
|
||||
+ if (!self->killNow) while(GetMessage(&msg, NULL, 0, 0))
|
||||
{
|
||||
if(msg.message != WOM_DONE)
|
||||
continue;
|
||||
@@ -504,7 +504,7 @@ static int ALCwinmmCapture_captureProc(void *arg)
|
||||
|
||||
althrd_setname(althrd_current(), RECORD_THREAD_NAME);
|
||||
|
||||
- while(GetMessage(&msg, NULL, 0, 0))
|
||||
+ if (!self->killNow) while(GetMessage(&msg, NULL, 0, 0))
|
||||
{
|
||||
if(msg.message != WIM_DATA)
|
||||
continue;
|
||||
1521
Telegram/Patches/qtbase_5_6_2.diff
Normal file
@@ -1 +0,0 @@
|
||||
Prepare.exe -path Telegram.exe -path Updater.exe
|
||||
@@ -1,126 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Deploy|Win32">
|
||||
<Configuration>Deploy</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SourceFiles\_other\prepare.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="SourceFiles\_other\prepare.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{88AB1138-143A-4CFB-A0E6-79B646B5E1B0}</ProjectGuid>
|
||||
<Keyword>Qt4VSv1.0</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<PlatformToolset>v120_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediatePrepare\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediatePrepare\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediatePrepare\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmaind.lib;Qt5Cored.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat />
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;Qt5Core.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
|
||||
<ClCompile>
|
||||
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<DebugInformationFormat>
|
||||
</DebugInformationFormat>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
|
||||
<AdditionalLibraryDirectories>$(QTDIR)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;Qt5Core.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<UserProperties UicDir=".\GeneratedFiles" MocDir=".\GeneratedFiles\$(ConfigurationName)" MocOptions="" RccDir=".\GeneratedFiles" lupdateOnBuild="0" lupdateOptions="" lreleaseOptions="" Qt5Version_x0020_Win32="$(DefaultQtVersion)" />
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
||||
@@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;cxx;c;def</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
|
||||
<Extensions>qrc;*</Extensions>
|
||||
<ParseFiles>false</ParseFiles>
|
||||
</Filter>
|
||||
<Filter Include="Generated Files">
|
||||
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
|
||||
<Extensions>moc;h;cpp</Extensions>
|
||||
<SourceControlFiles>False</SourceControlFiles>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="SourceFiles\_other\prepare.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="SourceFiles\_other\prepare.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
BIN
Telegram/Resources/art/bg.jpg
Normal file
|
After Width: | Height: | Size: 105 KiB |
BIN
Telegram/Resources/art/bg_initial.jpg
Normal file
|
After Width: | Height: | Size: 136 KiB |
BIN
Telegram/Resources/art/emoji.webp
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
Telegram/Resources/art/emoji_125x.webp
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
Telegram/Resources/art/emoji_150x.webp
Normal file
|
After Width: | Height: | Size: 2.3 MiB |
BIN
Telegram/Resources/art/emoji_200x.webp
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
Telegram/Resources/art/emoji_250x.webp
Normal file
|
After Width: | Height: | Size: 3.2 MiB |
BIN
Telegram/Resources/art/favicon.ico
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
Telegram/Resources/art/icon128.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
Telegram/Resources/art/icon128@2x.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
Telegram/Resources/art/icon16.png
Normal file
|
After Width: | Height: | Size: 826 B |
BIN
Telegram/Resources/art/icon16@2x.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
Telegram/Resources/art/icon256.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
Telegram/Resources/art/icon256.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
Telegram/Resources/art/icon256@2x.png
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
Telegram/Resources/art/icon32.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
Telegram/Resources/art/icon32@2x.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
Telegram/Resources/art/icon48.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
Telegram/Resources/art/icon48@2x.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
Telegram/Resources/art/icon512.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
Telegram/Resources/art/icon512@2x.png
Normal file
|
After Width: | Height: | Size: 95 KiB |
BIN
Telegram/Resources/art/icon64.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
Telegram/Resources/art/icon64@2x.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
Telegram/Resources/art/icon_green.png
Normal file
|
After Width: | Height: | Size: 84 KiB |
BIN
Telegram/Resources/art/iconbig_green.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
Telegram/Resources/art/logo_256.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
Telegram/Resources/art/logo_256_no_margin.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
Telegram/Resources/art/mac_setup.tiff
Normal file
BIN
Telegram/Resources/art/sunrise.jpg
Normal file
|
After Width: | Height: | Size: 117 KiB |
316
Telegram/Resources/basic.style
Normal file
@@ -0,0 +1,316 @@
|
||||
/*
|
||||
This file is part of Telegram Desktop,
|
||||
the official desktop application for the Telegram messaging service.
|
||||
|
||||
For license and copyright information please follow this link:
|
||||
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
*/
|
||||
using "colors.palette";
|
||||
|
||||
TextPalette {
|
||||
linkFg: color;
|
||||
monoFg: color;
|
||||
selectBg: color;
|
||||
selectFg: color;
|
||||
selectLinkFg: color;
|
||||
selectMonoFg: color;
|
||||
selectOverlay: color;
|
||||
}
|
||||
|
||||
TextStyle {
|
||||
font: font;
|
||||
linkFont: font;
|
||||
linkFontOver: font;
|
||||
lineHeight: pixels;
|
||||
}
|
||||
|
||||
semibold: "Open Sans Semibold";
|
||||
|
||||
fsize: 13px;
|
||||
normalFont: font(fsize);
|
||||
semiboldFont: font(fsize semibold);
|
||||
boxFontSize: 14px;
|
||||
boxTextFont: font(boxFontSize);
|
||||
|
||||
emojiImgSize: 18px; // exceptional value for retina
|
||||
emojiSize: 18px;
|
||||
emojiPadding: 1px;
|
||||
|
||||
lineWidth: 1px;
|
||||
|
||||
defaultTextPalette: TextPalette {
|
||||
linkFg: windowActiveTextFg;
|
||||
monoFg: msgInMonoFg;
|
||||
selectBg: msgInBgSelected;
|
||||
selectFg: transparent; // use painter current pen instead
|
||||
selectLinkFg: historyLinkInFgSelected;
|
||||
selectMonoFg: msgInMonoFgSelected;
|
||||
selectOverlay: msgSelectOverlay;
|
||||
}
|
||||
defaultTextStyle: TextStyle {
|
||||
font: normalFont;
|
||||
linkFont: normalFont;
|
||||
linkFontOver: font(fsize underline);
|
||||
lineHeight: 0px;
|
||||
}
|
||||
semiboldTextStyle: TextStyle(defaultTextStyle) {
|
||||
font: semiboldFont;
|
||||
linkFont: semiboldFont;
|
||||
linkFontOver: font(fsize semibold underline);
|
||||
}
|
||||
|
||||
shadowToggleDuration: 200;
|
||||
|
||||
slideDuration: 240;
|
||||
slideShift: 100px;
|
||||
slideShadow: icon {{ "slide_shadow", slideFadeOutShadowFg }};
|
||||
|
||||
slideWrapDuration: 150;
|
||||
fadeWrapDuration: 200;
|
||||
|
||||
linkCropLimit: 360px;
|
||||
linkFont: normalFont;
|
||||
linkOverFont: font(fsize underline);
|
||||
|
||||
dateRadius: 6px;
|
||||
buttonRadius: 3px;
|
||||
|
||||
setLittleSkip: 9px;
|
||||
|
||||
noContactsHeight: 100px;
|
||||
noContactsFont: font(fsize);
|
||||
noContactsColor: windowSubTextFg;
|
||||
|
||||
activeFadeInDuration: 500;
|
||||
activeFadeOutDuration: 3000;
|
||||
|
||||
msgMaxWidth: 430px;
|
||||
msgFont: font(fsize);
|
||||
msgNameFont: semiboldFont;
|
||||
msgNameStyle: semiboldTextStyle;
|
||||
msgServiceFont: semiboldFont;
|
||||
msgServiceNameFont: semiboldFont;
|
||||
msgServicePhotoWidth: 100px;
|
||||
msgDateFont: font(13px);
|
||||
msgMinWidth: 190px;
|
||||
msgPhotoSize: 33px;
|
||||
msgPhotoSkip: 40px;
|
||||
msgPadding: margins(13px, 7px, 13px, 8px);
|
||||
msgMargin: margins(16px, 6px, 56px, 2px);
|
||||
msgMarginTopAttached: 1px;
|
||||
msgLnkPadding: 2px; // for media open / save links
|
||||
msgShadow: 2px;
|
||||
|
||||
msgReplyPadding: margins(6px, 6px, 11px, 6px);
|
||||
msgReplyBarPos: point(1px, 0px);
|
||||
msgReplyBarSize: size(2px, 36px);
|
||||
msgReplyBarSkip: 10px;
|
||||
msgServicePadding: margins(12px, 3px, 12px, 4px);
|
||||
msgServiceMargin: margins(10px, 10px, 10px, 2px);
|
||||
|
||||
msgDateSpace: 12px;
|
||||
msgDateDelta: point(2px, 5px);
|
||||
|
||||
msgDateImgDelta: 4px;
|
||||
msgDateImgPadding: point(8px, 2px);
|
||||
msgDateImgCheckSpace: 4px;
|
||||
|
||||
messageTextStyle: defaultTextStyle;
|
||||
msgDateTextStyle: defaultTextStyle;
|
||||
serviceTextPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: msgServiceFg;
|
||||
monoFg: msgServiceFg;
|
||||
selectBg: msgServiceBgSelected;
|
||||
selectFg: msgServiceFg;
|
||||
selectLinkFg: msgServiceFg;
|
||||
selectMonoFg: msgServiceFg;
|
||||
selectOverlay: msgServiceBgSelected;
|
||||
}
|
||||
serviceTextStyle: TextStyle(defaultTextStyle) {
|
||||
font: msgServiceFont;
|
||||
linkFont: msgServiceFont;
|
||||
linkFontOver: font(fsize semibold underline);
|
||||
}
|
||||
inTextPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: historyLinkInFg;
|
||||
monoFg: msgInMonoFg;
|
||||
selectBg: msgInBgSelected;
|
||||
selectFg: historyTextInFgSelected;
|
||||
selectLinkFg: historyLinkInFgSelected;
|
||||
selectMonoFg: msgInMonoFgSelected;
|
||||
selectOverlay: msgSelectOverlay;
|
||||
}
|
||||
inTextPaletteSelected: TextPalette(inTextPalette) {
|
||||
linkFg: historyLinkInFgSelected;
|
||||
monoFg: msgInMonoFgSelected;
|
||||
}
|
||||
outTextPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: historyLinkOutFg;
|
||||
monoFg: msgOutMonoFg;
|
||||
selectBg: msgOutBgSelected;
|
||||
selectFg: historyTextOutFgSelected;
|
||||
selectLinkFg: historyLinkOutFgSelected;
|
||||
selectMonoFg: msgOutMonoFgSelected;
|
||||
selectOverlay: msgSelectOverlay;
|
||||
}
|
||||
outTextPaletteSelected: TextPalette(outTextPalette) {
|
||||
linkFg: historyLinkOutFgSelected;
|
||||
monoFg: msgOutMonoFgSelected;
|
||||
}
|
||||
fwdTextStyle: TextStyle(semiboldTextStyle) {
|
||||
linkFontOver: semiboldFont;
|
||||
}
|
||||
inFwdTextPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: msgInServiceFg;
|
||||
}
|
||||
outFwdTextPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: msgOutServiceFg;
|
||||
}
|
||||
inFwdTextPaletteSelected: TextPalette(defaultTextPalette) {
|
||||
linkFg: msgInServiceFgSelected;
|
||||
}
|
||||
outFwdTextPaletteSelected: TextPalette(defaultTextPalette) {
|
||||
linkFg: msgOutServiceFgSelected;
|
||||
}
|
||||
inReplyTextPalette: TextPalette(inTextPalette) {
|
||||
linkFg: msgInDateFg;
|
||||
}
|
||||
inReplyTextPaletteSelected: TextPalette(inTextPaletteSelected) {
|
||||
linkFg: msgInDateFgSelected;
|
||||
}
|
||||
outReplyTextPalette: TextPalette(outTextPalette) {
|
||||
linkFg: msgOutDateFg;
|
||||
}
|
||||
outReplyTextPaletteSelected: TextPalette(outTextPaletteSelected) {
|
||||
linkFg: msgOutDateFgSelected;
|
||||
}
|
||||
imgReplyTextPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: msgImgReplyBarColor;
|
||||
}
|
||||
inSemiboldPalette: TextPalette(inTextPalette) {
|
||||
linkFg: msgInServiceFg;
|
||||
selectFg: msgInServiceFgSelected;
|
||||
selectLinkFg: msgInServiceFgSelected;
|
||||
}
|
||||
outSemiboldPalette: TextPalette(outTextPalette) {
|
||||
linkFg: msgOutServiceFg;
|
||||
selectFg: msgOutServiceFgSelected;
|
||||
selectLinkFg: msgOutServiceFgSelected;
|
||||
}
|
||||
historyComposeAreaPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: historyComposeAreaFgService;
|
||||
}
|
||||
|
||||
mediaCaptionSkip: 5px;
|
||||
mediaInBubbleSkip: 5px;
|
||||
mediaThumbSize: 48px;
|
||||
mediaNameTop: 3px;
|
||||
mediaDetailsShift: 3px;
|
||||
mediaUnreadSize: 7px;
|
||||
mediaUnreadSkip: 5px;
|
||||
mediaUnreadTop: 6px;
|
||||
|
||||
mediaInPalette: TextPalette(defaultTextPalette) {
|
||||
linkFg: mediaInFg;
|
||||
}
|
||||
mediaInPaletteSelected: TextPalette(defaultTextPalette) {
|
||||
linkFg: mediaInFgSelected;
|
||||
}
|
||||
|
||||
textRectMargins: margins(-2px, -1px, -2px, -1px);
|
||||
|
||||
searchedBarHeight: 32px;
|
||||
searchedBarFont: normalFont;
|
||||
searchedBarPosition: point(17px, 7px);
|
||||
|
||||
smallCloseIcon: icon {{ "simple_close", smallCloseIconFg }};
|
||||
smallCloseIconOver: icon {{ "simple_close", smallCloseIconFgOver }};
|
||||
dialogsForwardCancelIcon: icon {{ "simple_close", dialogsForwardFg }};
|
||||
|
||||
emojiTextFont: font(15px);
|
||||
emojiReplaceWidth: 52px;
|
||||
emojiReplaceHeight: 56px;
|
||||
emojiReplaceInnerHeight: 42px;
|
||||
emojiReplacePadding: 14px;
|
||||
|
||||
dragFont: font(28px semibold);
|
||||
dragSubfont: font(20px semibold);
|
||||
dragColor: windowSubTextFg;
|
||||
dragDropColor: windowActiveTextFg;
|
||||
|
||||
dragMargin: margins(0px, 10px, 0px, 10px);
|
||||
dragPadding: margins(20px, 10px, 20px, 10px);
|
||||
|
||||
dragHeight: 72px;
|
||||
|
||||
minPhotoSize: 100px;
|
||||
maxMediaSize: 430px;
|
||||
maxStickerSize: 256px;
|
||||
maxGifSize: 320px;
|
||||
maxSignatureSize: 144px;
|
||||
|
||||
radialSize: size(50px, 50px);
|
||||
radialLine: 3px;
|
||||
radialDuration: 350;
|
||||
radialPeriod: 3000;
|
||||
|
||||
youtubeIcon: icon {
|
||||
{ "media_youtube_play_bg", youtubePlayIconBg },
|
||||
{ "media_youtube_play", youtubePlayIconFg, point(24px, 12px) },
|
||||
};
|
||||
videoIcon: icon {
|
||||
{ "media_video_play_bg", videoPlayIconBg },
|
||||
{ "media_video_play", videoPlayIconFg, point(12px, 12px) },
|
||||
};
|
||||
locationSize: size(320px, 240px);
|
||||
|
||||
webPageLeft: 10px;
|
||||
webPageBar: 2px;
|
||||
webPageTitleFont: semiboldFont;
|
||||
webPageTitleStyle: semiboldTextStyle;
|
||||
webPageTitleOutFg: historyTextOutFg;
|
||||
webPageTitleInFg: historyTextInFg;
|
||||
webPageDescriptionOutFg: historyTextOutFg;
|
||||
webPageDescriptionInFg: historyTextInFg;
|
||||
webPageDescriptionFont: normalFont;
|
||||
webPageDescriptionStyle: defaultTextStyle;
|
||||
webPagePhotoSize: 100px;
|
||||
webPagePhotoDelta: 8px;
|
||||
|
||||
mediaPlayerSuppressDuration: 150;
|
||||
|
||||
botDescSkip: 8px;
|
||||
|
||||
inlineResultsLeft: 11px;
|
||||
inlineResultsSkip: 3px;
|
||||
inlineMediaHeight: 96px;
|
||||
inlineThumbSize: 64px;
|
||||
inlineThumbSkip: 10px;
|
||||
inlineTitleFg: windowFg;
|
||||
inlineDescriptionFg: windowSubTextFg;
|
||||
inlineRowMargin: 6px;
|
||||
inlineRowBorder: 1px;
|
||||
inlineRowBorderFg: shadowFg;
|
||||
inlineRowFileNameTop: 2px;
|
||||
inlineRowFileDescriptionTop: 23px;
|
||||
inlineResultsMinWidth: 48px;
|
||||
inlineDurationMargin: 3px;
|
||||
|
||||
toastTextStyle: defaultTextStyle;
|
||||
toastMaxWidth: 480px;
|
||||
toastMinMargin: 13px;
|
||||
toastPadding: margins(19px, 13px, 19px, 12px);
|
||||
toastFadeInDuration: 200;
|
||||
toastFadeOutDuration: 1000;
|
||||
|
||||
historyReplyCancelIcon: icon {{ "box_button_close", historyReplyCancelFg }};
|
||||
historyReplyCancelIconOver: icon {{ "box_button_close", historyReplyCancelFgOver }};
|
||||
boxTitleCloseIcon: icon {{ "box_button_close", boxTitleCloseFg }};
|
||||
boxTitleCloseIconOver: icon {{ "box_button_close", boxTitleCloseFgOver }};
|
||||
|
||||
notifyFadeRight: icon {{ "fade_horizontal", notificationBg }};
|
||||
|
||||
stickerIconLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanCategories }};
|
||||
stickerIconRight: icon {{ "fade_horizontal", emojiPanCategories }};
|
||||
|
||||
transparentPlaceholderSize: 4px;
|
||||
549
Telegram/Resources/colors.palette
Normal file
@@ -0,0 +1,549 @@
|
||||
/*
|
||||
This file is part of Telegram Desktop,
|
||||
the official desktop application for the Telegram messaging service.
|
||||
|
||||
For license and copyright information please follow this link:
|
||||
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
*/
|
||||
|
||||
// basic
|
||||
windowBg: #ffffff; // white: fallback for background
|
||||
windowFg: #000000; // black: fallback for text
|
||||
windowBgOver: #f1f1f1; // light gray: fallback for background with mouse over
|
||||
windowBgRipple: #e5e5e5; // darker gray: fallback for ripple effect
|
||||
windowFgOver: windowFg; // black: fallback for text with mouse over
|
||||
windowSubTextFg: #999999; // gray: fallback for additional text
|
||||
windowSubTextFgOver: #919191; // darker gray: fallback for additional text with mouse over
|
||||
windowBoldFg: #222222; // dark gray: fallback for bold text
|
||||
windowBoldFgOver: #222222; // dark gray: fallback for bold text with mouse over
|
||||
windowBgActive: #40a7e3; // bright blue: fallback for blue filled active areas
|
||||
windowFgActive: #ffffff; // white: fallback for text on active areas
|
||||
windowActiveTextFg: #168acd; // online blue: fallback for active text like online status
|
||||
windowShadowFg: #000000; // black: fallback for shadow
|
||||
windowShadowFgFallback: #f1f1f1; // gray: fallback for shadow without opacity
|
||||
|
||||
shadowFg: #00000018; // most shadows (including opacity)
|
||||
slideFadeOutBg: #0000003c; // slide animation (chat to profile) fade out filling
|
||||
slideFadeOutShadowFg: windowShadowFg; // slide animation (chat to profile) fade out right section shadow
|
||||
|
||||
imageBg: #000000; // image background fallback (when photo size is less than minimum allowed)
|
||||
imageBgTransparent: #ffffff; // image background when displaying an image with opacity where no opacity is needed
|
||||
|
||||
// widgets
|
||||
activeButtonBg: windowBgActive; // default active button background
|
||||
activeButtonBgOver: #39a5db; // default active button background with mouse over
|
||||
activeButtonBgRipple: #2095d0; // default active button ripple effect
|
||||
activeButtonFg: windowFgActive; // default active button text
|
||||
activeButtonFgOver: activeButtonFg; // default active button text with mouse over
|
||||
activeButtonSecondaryFg: #cceeff; // default active button additional text (selected messages counter in forward / delete buttons)
|
||||
activeButtonSecondaryFgOver: activeButtonSecondaryFg; // default active button additional text with mouse over
|
||||
activeLineFg: #37a1de; // default active line (like code input field bottom border when you log in and field is focused)
|
||||
activeLineFgError: #e48383; // default active line for error state (like code input field bottom border when you log in and you've entered incorrect code)
|
||||
|
||||
lightButtonBg: windowBg; // default light button background (like buttons in boxes)
|
||||
lightButtonBgOver: #e3f1fa; // default light button background with mouse over
|
||||
lightButtonBgRipple: #c9e4f6; // default light button ripple effect
|
||||
lightButtonFg: windowActiveTextFg; // default light button text
|
||||
lightButtonFgOver: lightButtonFg; // default light button text with mouse over
|
||||
|
||||
attentionButtonFg: #d14e4e; // default attention button text (like confirm button on log out)
|
||||
attentionButtonFgOver: #d14e4e; // default attention button text with mouse over
|
||||
attentionButtonBgOver: #fcdfde; // default attention button background with mouse over
|
||||
attentionButtonBgRipple: #f4c3c2; // default attention button ripple effect
|
||||
|
||||
outlineButtonBg: windowBg; // default left outlined button background (like shared media links in profiles)
|
||||
outlineButtonBgOver: lightButtonBgOver; // default left outlined button background with mouse over
|
||||
outlineButtonOutlineFg: windowBgActive; // default left outlined button left outline border
|
||||
outlineButtonBgRipple: lightButtonBgRipple; // default left outlined button ripple effect
|
||||
|
||||
menuBg: windowBg; // default popup menu background
|
||||
menuBgOver: windowBgOver; // default popup menu item background with mouse over
|
||||
menuBgRipple: windowBgRipple; // default popup menu item ripple effect
|
||||
menuIconFg: #a8a8a8; // default popup menu item icon (like main menu)
|
||||
menuIconFgOver: #999999; // default popup menu item icon with mouse over
|
||||
menuSubmenuArrowFg: #373737; // default popup menu submenu arrow icon (like in message field context menu in case of RTL system language)
|
||||
menuFgDisabled: #cccccc; // default popup menu item disabled text (like unavailable items in message field context menu)
|
||||
menuSeparatorFg: #f1f1f1; // default popup menu separator (like in message field context menu)
|
||||
|
||||
scrollBarBg: #00000053; // default scroll bar current rectangle, the bar itself (like in chats list)
|
||||
scrollBarBgOver: #0000007a; // default scroll bar current rectangle with mouse over it
|
||||
scrollBg: #0000001a; // default scroll bar background
|
||||
scrollBgOver: #0000002c; // default scroll bar background with mouse over the scroll bar
|
||||
|
||||
smallCloseIconFg: #c7c7c7; // small X icon (like in Show all sessions box to the right for sessions termination)
|
||||
smallCloseIconFgOver: #a3a3a3; // small X icon with mouse over
|
||||
|
||||
radialFg: windowFgActive; // default radial loader line (like in Media Viewer when loading a photo)
|
||||
radialBg: #00000056; // default radial loader background (like in Media Viewer when loading a photo)
|
||||
|
||||
placeholderFg: windowSubTextFg; // default input field placeholder when field is not focused (like in phone input field when you log in)
|
||||
placeholderFgActive: #aaaaaa; // default input field placeholder when field is focused
|
||||
inputBorderFg: #e0e0e0; // default input field bottom border (like in code input field when you log in and field is not focused)
|
||||
filterInputBorderFg: #54c3f3; // default rounded input field border (like in chats list search field when field is focused)
|
||||
filterInputActiveBg: windowBg; // default rounded input field active background (like in chats list search field when field is focused)
|
||||
filterInputInactiveBg: windowBgOver; // default rounded input field inactive background (like in chats list search field when field is inactive)
|
||||
checkboxFg: #b3b3b3; // default unchecked checkbox rounded rectangle
|
||||
|
||||
botKbBg: menuBgOver; // bot keyboard button background
|
||||
botKbDownBg: menuBgRipple; // bot keyboard button ripple effect
|
||||
botKbColor: windowBoldFgOver; // bot keyboard button text
|
||||
|
||||
sliderBgInactive: #e1eaef; // default slider not active bar (like in Settings when you choose interface scale or custom notifications count)
|
||||
sliderBgActive: windowBgActive; // default slider active bar (like in Settings when you choose interface scale or custom notifications count)
|
||||
|
||||
tooltipBg: #eef2f5; // tooltip background (like when you put mouse over the message timestamp and wait)
|
||||
tooltipFg: #5d6c80; // tooltip text
|
||||
tooltipBorderFg: #c9d1db; // tooltip border
|
||||
|
||||
// custom title bar for Windows and macOS
|
||||
titleShadow: #00000003; // one pixel line shadow at the bottom of custom window title
|
||||
titleBg: windowBgOver; // custom window title background when window is inactive
|
||||
titleBgActive: titleBg; // custom window title background when window is active
|
||||
titleButtonBg: titleBg; // custom window title minimize/maximize/restore button background when window is inactive (Windows only)
|
||||
titleButtonFg: #ababab; // custom window title minimize/maximize/restore button icon when window is inactive (Windows only)
|
||||
titleButtonBgOver: #e5e5e5; // custom window title minimize/maximize/restore button background with mouse over when window is inactive (Windows only)
|
||||
titleButtonFgOver: #9a9a9a; // custom window title minimize/maximize/restore button icon with mouse over when window is inactive (Windows only)
|
||||
titleButtonBgActive: titleButtonBg; // custom window title minimize/maximize/restore button background when window is active (Windows only)
|
||||
titleButtonFgActive: titleButtonFg; // custom window title minimize/maximize/restore button icon when window is active (Windows only)
|
||||
titleButtonBgActiveOver: titleButtonBgOver; // custom window title minimize/maximize/restore button background with mouse over when window is active (Windows only)
|
||||
titleButtonFgActiveOver: titleButtonFgOver; // custom window title minimize/maximize/restore button icon with mouse over when window is active (Windows only)
|
||||
titleButtonCloseBg: titleButtonBg; // custom window title close button background when window is inactive (Windows only)
|
||||
titleButtonCloseFg: titleButtonFg; // custom window title close button icon when window is inactive (Windows only)
|
||||
titleButtonCloseBgOver: #e81123; // custom window title close button background with mouse over when window is inactive (Windows only)
|
||||
titleButtonCloseFgOver: windowFgActive; // custom window title close button icon with mouse over when window is inactive (Windows only)
|
||||
titleButtonCloseBgActive: titleButtonCloseBg; // custom window title close button background when window is active (Windows only)
|
||||
titleButtonCloseFgActive: titleButtonCloseFg; // custom window title close button icon when window is active (Windows only)
|
||||
titleButtonCloseBgActiveOver: titleButtonCloseBgOver; // custom window title close button background with mouse over when window is active (Windows only)
|
||||
titleButtonCloseFgActiveOver: titleButtonCloseFgOver; // custom window title close button icon with mouse over when window is active (Windows only)
|
||||
titleFg: #acacac; // custom window title text when window is inactive (macOS only)
|
||||
titleFgActive: #3e3c3e; // custom window title text when window is active (macOS only)
|
||||
|
||||
// tray icon
|
||||
trayCounterBg: #f23c34; // tray icon counter background
|
||||
trayCounterBgMute: #888888; // tray icon counter background if all unread messages are muted
|
||||
trayCounterFg: #ffffff; // tray icon counter text
|
||||
trayCounterBgMacInvert: #ffffff; // tray icon counter background when tray icon is pressed or when dark theme of macOS is used (macOS only)
|
||||
trayCounterFgMacInvert: #ffffff01; // tray icon counter text when tray icon is pressed or when dark theme of macOS is used (macOS only)
|
||||
|
||||
// layers
|
||||
layerBg: #0000007f; // box and main menu background layer fade
|
||||
|
||||
cancelIconFg: menuIconFg; // default for settings close icon and box search cancel icon
|
||||
cancelIconFgOver: menuIconFgOver; // default for settings close icon and box search cancel icon with mouse over
|
||||
|
||||
// boxes
|
||||
boxBg: windowBg; // box background
|
||||
boxTextFg: windowFg; // box text
|
||||
boxTextFgGood: #4ab44a; // accepted box text (like when choosing username that is not occupied)
|
||||
boxTextFgError: #d84d4d; // rejecting box text (like when choosing username that is occupied)
|
||||
boxTitleFg: #404040; // box title text
|
||||
boxSearchBg: boxBg; // box search field background (like in contacts box)
|
||||
|
||||
boxTitleAdditionalFg: #808080; // box title additional text (like in create group box when you see chosen members count)
|
||||
boxTitleCloseFg: cancelIconFg; // settings close icon and box search cancel icon (like in contacts box)
|
||||
boxTitleCloseFgOver: cancelIconFgOver; // settings close icon and box search cancel icon (like in contacts box) with mouse over
|
||||
|
||||
//boxSearchCancelIconFg: cancelIconFg; // search cancel X button icon (like in contacts box) (not implemented yet)
|
||||
//boxSearchCancelIconFgOver: cancelIconFgOver; // search cancel X button icon with mouse over (not implemented yet)
|
||||
|
||||
membersAboutLimitFg: windowSubTextFgOver; // text in channel members box about the limit (max 200 last members are shown)
|
||||
|
||||
contactsBg: windowBg; // contacts (and some other) box row background
|
||||
contactsBgOver: windowBgOver; // contacts (and some other) box row background with mouse over
|
||||
contactsNameFg: boxTextFg; // contacts (and some other) box row name text
|
||||
contactsStatusFg: windowSubTextFg; // contacts (and some other) box row additional text (like last seen stamp)
|
||||
contactsStatusFgOver: windowSubTextFgOver; // contacts (and some other) box row additional text (like last seen stamp) with mouse over
|
||||
contactsStatusFgOnline: windowActiveTextFg; // contacts (and some other) box row active additional text (like online status)
|
||||
|
||||
photoCropFadeBg: layerBg; // avatar crop box fade background (when choosing a new photo in Settings or for a group)
|
||||
photoCropPointFg: #ffffff7f; // avatar crop box corner rectangles (when choosing a new photo in Settings or for a group)
|
||||
|
||||
callArrowFg: #2ab32a | boxTextFgGood; // received phone call arrow (in calls list box)
|
||||
callArrowMissedFg: #dd5b4a | boxTextFgError; // missed phone call arrow (in calls list box)
|
||||
|
||||
// intro
|
||||
introBg: windowBg; // login background
|
||||
introTitleFg: windowBoldFg; // login title text
|
||||
introDescriptionFg: windowSubTextFg; // login description text
|
||||
introErrorFg: windowSubTextFg; // login error text (like when providing a wrong log in code)
|
||||
|
||||
introCoverTopBg: #0f89d0; // intro gradient top (from)
|
||||
introCoverBottomBg: #39b0f0; // intro gradient bottom (to)
|
||||
introCoverIconsFg: #5ec6ff; // intro cloud graphics
|
||||
introCoverPlaneTrace: #5ec6ff69; // intro plane traces
|
||||
introCoverPlaneInner: #c6d8e8; // intro plane part
|
||||
introCoverPlaneOuter: #a1bed4; // intro plane part
|
||||
introCoverPlaneTop: #ffffff; // intro plane part
|
||||
|
||||
// dialogs
|
||||
dialogsMenuIconFg: menuIconFg; // main menu and lock telegram icon
|
||||
dialogsMenuIconFgOver: menuIconFgOver; // main menu and lock telegram icon with mouse over
|
||||
|
||||
dialogsBg: windowBg; // chat list background
|
||||
dialogsNameFg: windowBoldFg; // chat list name text
|
||||
dialogsChatIconFg: dialogsNameFg; // chat list group or channel icon
|
||||
dialogsDateFg: windowSubTextFg; // chat list date text
|
||||
dialogsTextFg: windowSubTextFg; // chat list message text
|
||||
dialogsTextFgService: windowActiveTextFg; // chat list group sender name text (or media message type text)
|
||||
dialogsDraftFg: #dd4b39; // chat list draft label
|
||||
dialogsVerifiedIconBg: windowBgActive; // chat list verified icon background
|
||||
dialogsVerifiedIconFg: windowFgActive; // chat list verified icon check
|
||||
dialogsSendingIconFg: #c1c1c1; // chat list sending message icon (clock)
|
||||
dialogsSentIconFg: #5dc452; // chat list sent message tick / double tick icon
|
||||
dialogsUnreadBg: windowBgActive; // chat list unread badge background for not muted chat
|
||||
dialogsUnreadBgMuted: #bbbbbb; // chat list unread badge background for muted chat
|
||||
dialogsUnreadFg: windowFgActive; // chat list unread badge text
|
||||
|
||||
dialogsBgOver: windowBgOver; // chat list background with mouse over
|
||||
dialogsNameFgOver: windowBoldFgOver; // chat list name text with mouse over
|
||||
dialogsChatIconFgOver: dialogsNameFgOver; // chat list group or channel icon with mouse over
|
||||
dialogsDateFgOver: windowSubTextFgOver; // chat list date text with mouse over
|
||||
dialogsTextFgOver: windowSubTextFgOver; // chat list message text with mouse over
|
||||
dialogsTextFgServiceOver: dialogsTextFgService; // chat list group sender name text with mouse over
|
||||
dialogsDraftFgOver: dialogsDraftFg; // chat list draft label with mouse over
|
||||
dialogsVerifiedIconBgOver: dialogsVerifiedIconBg; // chat list verified icon background with mouse over
|
||||
dialogsVerifiedIconFgOver: dialogsVerifiedIconFg; // chat list verified icon check with mouse over
|
||||
dialogsSendingIconFgOver: dialogsSendingIconFg; // chat list sending message icon (clock) with mouse over
|
||||
dialogsSentIconFgOver: dialogsSentIconFg; // chat list sent message tick / double tick icon with mouse over
|
||||
dialogsUnreadBgOver: dialogsUnreadBg; // chat list unread badge background for not muted chat with mouse over
|
||||
dialogsUnreadBgMutedOver: dialogsUnreadBgMuted; // chat list unread badge background for muted chat with mouse over
|
||||
dialogsUnreadFgOver: dialogsUnreadFg; // chat list unread badge text with mouse over
|
||||
|
||||
dialogsBgActive: #419fd9; // chat list background for current (active) chat
|
||||
dialogsNameFgActive: windowFgActive; // chat list name text for current (active) chat
|
||||
dialogsChatIconFgActive: dialogsNameFgActive; // chat list group or channel icon for current (active) chat
|
||||
dialogsDateFgActive: windowFgActive; // chat list date text for current (active) chat
|
||||
dialogsTextFgActive: windowFgActive; // chat list message text for current (active) chat
|
||||
dialogsTextFgServiceActive: dialogsTextFgActive; // chat list group sender name text for current (active) chat
|
||||
dialogsDraftFgActive: #c6e1f7; // chat list draft label for current (active) chat
|
||||
dialogsVerifiedIconBgActive: dialogsTextFgActive; // chat list verified icon background for current (active) chat
|
||||
dialogsVerifiedIconFgActive: dialogsBgActive; // chat list verified icon check for current (active) chat
|
||||
dialogsSendingIconFgActive: #ffffff99; // chat list sending message icon (clock) for current (active) chat
|
||||
dialogsSentIconFgActive: dialogsTextFgActive; // chat list sent message tick / double tick icon for current (active) chat
|
||||
dialogsUnreadBgActive: dialogsTextFgActive; // chat list unread badge background for not muted chat for current (active) chat
|
||||
dialogsUnreadBgMutedActive: dialogsDraftFgActive; // chat list unread badge background for muted chat for current (active) chat
|
||||
dialogsUnreadFgActive: dialogsBgActive; // chat list unread badge text for current (active) chat
|
||||
|
||||
dialogsRippleBg: windowBgRipple; // chat list background ripple effect
|
||||
dialogsRippleBgActive: activeButtonBgRipple; // chat list background ripple effect for current (active) chat
|
||||
|
||||
dialogsForwardBg: dialogsBgActive; // forwarding panel background (when forwarding messages in the smallest window size)
|
||||
dialogsForwardFg: dialogsNameFgActive; // forwarding panel text (when forwarding messages in the smallest window size)
|
||||
|
||||
searchedBarBg: windowBgOver; // search results bar background (in chats list, contacts box..)
|
||||
searchedBarFg: windowSubTextFgOver; // search results bar text (in chats list, contacts box..)
|
||||
|
||||
// history
|
||||
topBarBg: windowBg; // top bar background (in chat view, media overview..)
|
||||
|
||||
emojiPanBg: windowBg; // emoji panel background
|
||||
emojiPanCategories: #f7f7f7 | windowBg; // emoji panel categories background
|
||||
emojiPanHeaderFg: windowSubTextFg; // emoji panel section header text
|
||||
emojiPanHeaderBg: #fffffff2 | emojiPanBg; // emoji panel section header background
|
||||
emojiIconFg: checkboxFg; // emoji category icon
|
||||
emojiIconFgActive: windowBgActive; // active emoji category icon
|
||||
stickerPanDeleteBg: #000000ff; // delete X button background for custom sent stickers in stickers panel (legacy)
|
||||
stickerPanDeleteFg: windowFgActive; // delete X button icon for custom sent stickers in stickers panel (legacy)
|
||||
stickerPreviewBg: #ffffffb0; // sticker and GIF preview background (when you press and hold on a sticker)
|
||||
|
||||
historyTextInFg: windowFg; // inbox message text
|
||||
historyTextInFgSelected: historyTextInFg; // inbox message selected text or text in a selected message
|
||||
historyTextOutFg: windowFg; // outbox message text
|
||||
historyTextOutFgSelected: historyTextOutFg; // outbox message selected text or text in a selected message
|
||||
historyLinkInFg: windowActiveTextFg; // inbox message link
|
||||
historyLinkInFgSelected: historyLinkInFg; // inbox message link in a selected text or message
|
||||
historyLinkOutFg: windowActiveTextFg; // outbox message link
|
||||
historyLinkOutFgSelected: historyLinkOutFg; // outbox message link in a selected text or message
|
||||
historyFileNameInFg: historyTextInFg; // inbox media filename text
|
||||
historyFileNameInFgSelected: historyFileNameInFg; // inbox media filename text in a selected message
|
||||
historyFileNameOutFg: historyTextOutFg; // outbox media filename text
|
||||
historyFileNameOutFgSelected: historyFileNameOutFg; // outbox media filename text in a selected message
|
||||
historyOutIconFg: dialogsSentIconFg; // outbox message tick / double tick icon
|
||||
historyOutIconFgSelected: #4da79f; // outbox message tick / double tick icon in a selected message
|
||||
historyIconFgInverted: windowFgActive; // media message tick / double tick icon (like in sent photo)
|
||||
historySendingOutIconFg: #98d292; // outbox sending message icon (clock)
|
||||
historySendingInIconFg: #a0adb5; // inbox sending message icon (clock) (like in sent messages to yourself or in sent messages to a channel)
|
||||
historySendingInvertedIconFg: #ffffffc8; // media sending message icon (clock) (like in sent photo)
|
||||
historyCallArrowInFg: callArrowFg; // received phone call arrow
|
||||
historyCallArrowInFgSelected: callArrowFg; // received phone call arrow in a selected message
|
||||
historyCallArrowMissedInFg: callArrowMissedFg; // missed phone call arrow
|
||||
historyCallArrowMissedInFgSelected: callArrowMissedFg; // missed phone call arrow in a selected message
|
||||
historyCallArrowOutFg: historyCallArrowInFg; // outgoing phone call arrow
|
||||
historyCallArrowOutFgSelected: historyCallArrowInFgSelected; // outgoing phone call arrow
|
||||
|
||||
historyUnreadBarBg: #fcfbfa; // new unread messages bar background
|
||||
historyUnreadBarBorder: shadowFg; // new unread messages bar shadow
|
||||
historyUnreadBarFg: #538bb4; // new unread messages bar text
|
||||
|
||||
historyForwardChooseBg: #0000004c; // forwarding messages in a large window size "choose recipient" background
|
||||
historyForwardChooseFg: windowFgActive; // forwarding messages in a large window size "choose recipient" text
|
||||
|
||||
historyPeer1NameFg: #c03d33; // red group member name
|
||||
historyPeer1NameFgSelected: historyPeer1NameFg; // red group member name in a selected message
|
||||
historyPeer1UserpicBg: #e17076; // red userpic background
|
||||
historyPeer2NameFg: #4fad2d; // green group member name
|
||||
historyPeer2NameFgSelected: historyPeer2NameFg; // green group member name in a selected message
|
||||
historyPeer2UserpicBg: #7bc862; // green userpic background
|
||||
historyPeer3NameFg: #d09306; // yellow group member name
|
||||
historyPeer3NameFgSelected: historyPeer3NameFg; // yellow group member name in a selected message
|
||||
historyPeer3UserpicBg: #e5ca77; // yellow userpic background
|
||||
historyPeer4NameFg: windowActiveTextFg; // blue group member name
|
||||
historyPeer4NameFgSelected: historyPeer4NameFg; // blue group member name in a selected message
|
||||
historyPeer4UserpicBg: #65aadd; // blue userpic background
|
||||
historyPeer5NameFg: #8544d6; // purple group member name
|
||||
historyPeer5NameFgSelected: historyPeer5NameFg; // purple group member name in a selected message
|
||||
historyPeer5UserpicBg: #a695e7; // purple userpic background
|
||||
historyPeer6NameFg: #cd4073; // pink group member name
|
||||
historyPeer6NameFgSelected: historyPeer6NameFg; // pink group member name in a selected message
|
||||
historyPeer6UserpicBg: #ee7aae; // pink userpic background
|
||||
historyPeer7NameFg: #2996ad; // sea group member name
|
||||
historyPeer7NameFgSelected: historyPeer7NameFg; // sea group member name in a selected message
|
||||
historyPeer7UserpicBg: #6ec9cb; // sea userpic background
|
||||
historyPeer8NameFg: #ce671b; // orange group member name
|
||||
historyPeer8NameFgSelected: historyPeer8NameFg; // orange group member name in a selected message
|
||||
historyPeer8UserpicBg: #faa774; // orange userpic background
|
||||
historyPeerUserpicFg: windowFgActive; // default userpic initials
|
||||
historyPeerSavedMessagesBg: historyPeer4UserpicBg; // saved messages userpic background
|
||||
|
||||
// Some values are marked as (adjusted), it means they're adjusted by
|
||||
// hue and saturation of the average background color if user chooses
|
||||
// some other (not bundled to this color theme) background. If the
|
||||
// bundled background is used those colors are not adjusted in any way.
|
||||
historyScrollBarBg: #517c417a; // scroll bar current rectangle, the bar itself in the chat view (adjusted)
|
||||
historyScrollBarBgOver: #517c41bc; // scroll bar current rectangle with mouse over it in the chat view (adjusted)
|
||||
historyScrollBg: #517c414c; // scroll bar background (adjusted)
|
||||
historyScrollBgOver: #517c416b; // scroll bar background with mouse over the scroll bar (adjusted)
|
||||
|
||||
msgInBg: windowBg; // inbox message background
|
||||
msgInBgSelected: #c2dcf2; // inbox selected message background (and background of selected text in those messages)
|
||||
msgOutBg: #effdde; // outbox message background
|
||||
msgOutBgSelected: #b7dbdb; // outbox selected message background (and background of selected text in those messages)
|
||||
msgSelectOverlay: #358cd44c; // overlay which is filling the media parts of selected messages (like in selected photo message)
|
||||
msgStickerOverlay: #358cd47f; // overlay which is filling the selected sticker message
|
||||
msgInServiceFg: windowActiveTextFg; // inbox message information text (like information about a forwarded message original sender)
|
||||
msgInServiceFgSelected: windowActiveTextFg; // inbox selected message information text (like information about a forwarded message original sender)
|
||||
msgOutServiceFg: #3a8e26; // outbox message information text (like information about a forwarded message original sender)
|
||||
msgOutServiceFgSelected: #367570; // outbox message information text (like information about a forwarded message original sender)
|
||||
msgInShadow: #748ea229; // inbox message shadow (below the bubble)
|
||||
msgInShadowSelected: #548dbb29; // inbox selected message shadow (below the bubble)
|
||||
msgOutShadow: #3ac34740; // outbox message shadow (below the bubble)
|
||||
msgOutShadowSelected: #37a78e40; // outbox selected message shadow (below the bubble)
|
||||
msgInDateFg: #a0acb6; // inbox message time text
|
||||
msgInDateFgSelected: #6a9cc5; // inbox selected message time text
|
||||
msgOutDateFg: #6cc264; // outbox message time text
|
||||
msgOutDateFgSelected: #50a79c; // outbox selected message time text
|
||||
msgServiceFg: windowFgActive; // service message text (like date dividers or service message about the group title being changed)
|
||||
msgServiceBg: #517c417f; // service message background (like in a service message about group title being changed) (adjusted)
|
||||
msgServiceBgSelected: #96b38ba2; // service message selected text background (like in a service message about group title being changed) (adjusted)
|
||||
msgInReplyBarColor: activeLineFg; // inbox message reply outline
|
||||
msgInReplyBarSelColor: activeLineFg; // inbox selected message reply outline
|
||||
msgOutReplyBarColor: historyOutIconFg; // outbox message reply outline
|
||||
msgOutReplyBarSelColor: historyOutIconFgSelected; // outbox selected message reply outline
|
||||
msgImgReplyBarColor: msgServiceFg; // sticker message reply outline
|
||||
msgInMonoFg: #4e7391; // inbox message monospace text (like a message sent with `test` text)
|
||||
msgOutMonoFg: #469165; // outbox message monospace text
|
||||
msgInMonoFgSelected: msgInMonoFg; // inbox message monospace text in a selected text or message
|
||||
msgOutMonoFgSelected: msgOutMonoFg; // outbox message monospace text in a selected text or message
|
||||
msgDateImgFg: msgServiceFg; // media message time text (like time text in a sent photo)
|
||||
msgDateImgBg: #00000054; // media message time bubble background (like time bubble in a sent photo) or file with thumbnail download icon circle background
|
||||
msgDateImgBgOver: #00000074; // media message download icon circle background with mouse over (like file with thumbnail download icon)
|
||||
msgDateImgBgSelected: #1c4a7187; // selected media message time bubble background
|
||||
|
||||
msgFileThumbLinkInFg: lightButtonFg; // inbox media file message with thumbnail download / open with button text
|
||||
msgFileThumbLinkInFgSelected: lightButtonFgOver; // inbox selected media file message with thumbnail download / open with button text
|
||||
msgFileThumbLinkOutFg: #5eba5b; // outbox media file message with thumbnail download / open with button text
|
||||
msgFileThumbLinkOutFgSelected: #31a298; // outbox selected media file message with thumbnail download / open with button text
|
||||
msgFileInBg: windowBgActive; // inbox audio file download circle background
|
||||
msgFileInBgOver: #4eade3; // inbox audio file download circle background with mouse over
|
||||
msgFileInBgSelected: #51a3d3; // inbox selected audio file download circle background
|
||||
msgFileOutBg: #78c67f; // outbox audio file download circle background
|
||||
msgFileOutBgOver: #6bc272; // outbox audio file download circle background with mouse over
|
||||
msgFileOutBgSelected: #5fb389; // outbox selected audio file download circle background
|
||||
|
||||
msgFile1Bg: #72b1df; // blue shared links / files without image square thumbnail
|
||||
msgFile1BgDark: #5c9ece; // blue shared files without image download circle background
|
||||
msgFile1BgOver: #5294c4; // blue shared files without image download circle background with mouse over
|
||||
msgFile1BgSelected: #5099d0; // blue shared files without image download circle background if file is selected
|
||||
msgFile2Bg: #61b96e; // green shared links / shared files without image square thumbnail
|
||||
msgFile2BgDark: #4da859; // green shared files without image download circle background
|
||||
msgFile2BgOver: #44a050; // green shared files without image download circle background with mouse over
|
||||
msgFile2BgSelected: #46a07e; // green shared files without image download circle background if file is selected
|
||||
msgFile3Bg: #e47272; // red shared links / shared files without image square thumbnail
|
||||
msgFile3BgDark: #cd5b5e; // red shared files without image download circle background
|
||||
msgFile3BgOver: #c35154; // red shared files without image download circle background with mouse over
|
||||
msgFile3BgSelected: #9f6a82; // red shared files without image download circle background if file is selected
|
||||
msgFile4Bg: #efc274; // yellow shared links / shared files without image square thumbnail
|
||||
msgFile4BgDark: #e6a561; // yellow shared files without image download circle background
|
||||
msgFile4BgOver: #dc9c5a; // yellow shared files without image download circle background with mouse over
|
||||
msgFile4BgSelected: #b19d84; // yellow shared files without image download circle background if file is selected
|
||||
|
||||
historyFileInIconFg: msgInBg; // inbox file without thumbnail (like audio file) download arrow icon
|
||||
historyFileInIconFgSelected: msgInBgSelected; // inbox selected file without thumbnail (like audio file) download arrow icon
|
||||
historyFileInRadialFg: historyFileInIconFg; // inbox file without thumbnail (like audio file) radial download animation line
|
||||
historyFileInRadialFgSelected: historyFileInIconFgSelected; // inbox selected file without thumbnail (like audio file) radial download animation line
|
||||
historyFileOutIconFg: msgOutBg; // outbox file without thumbnail (like audio file) download arrow icon
|
||||
historyFileOutIconFgSelected: msgOutBgSelected; // outbox selected file without thumbnail (like audio file) download arrow icon
|
||||
historyFileOutRadialFg: historyFileOutIconFg; // outbox file without thumbnail (like audio file) radial download animation line
|
||||
historyFileOutRadialFgSelected: historyFileOutIconFgSelected; // outbox selected file without thumbnail (like audio file) radial download animation line
|
||||
historyFileThumbIconFg: msgInBg; // file with thumbnail (or photo / video) download arrow icon
|
||||
historyFileThumbIconFgSelected: msgInBgSelected; // selected file with thumbnail (or photo / video) download arrow icon
|
||||
historyFileThumbRadialFg: historyFileThumbIconFg; // file with thumbnail (or photo / video) radial download animation line
|
||||
historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected; // selected file with thumbnail (or photo / video) radial download animation line
|
||||
|
||||
historyVideoMessageProgressFg: historyFileThumbIconFg; // radial playback progress in round video messages
|
||||
|
||||
msgWaveformInActive: windowBgActive; // inbox voice message active waveform lines (like played part of currently playing voice message)
|
||||
msgWaveformInActiveSelected: #51a3d3; // inbox selected voice message active waveform lines (like played part of currently playing voice message)
|
||||
msgWaveformInInactive: #d4dee6; // inbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
|
||||
msgWaveformInInactiveSelected: #9cc1e1; // inbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message)
|
||||
msgWaveformOutActive: #78c67f; // outbox voice message active waveform lines (like played part of currently playing voice message)
|
||||
msgWaveformOutActiveSelected: #6badad; // outbox selected voice message active waveform lines (like played part of currently playing voice message)
|
||||
msgWaveformOutInactive: #b3e2b4; // outbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
|
||||
msgWaveformOutInactiveSelected: #91c3c3; // outbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message)
|
||||
|
||||
msgBotKbOverBgAdd: #ffffff20; // this is painted over a bot inline keyboard button (which has msgServiceBg background) when mouse is over that button
|
||||
msgBotKbIconFg: msgServiceFg; // bot inline keyboard button icon in the top-right corner (like in @vote bot when a poll is ready to be shared)
|
||||
msgBotKbRippleBg: #00000020; // bot inline keyboard button ripple effect
|
||||
|
||||
mediaInFg: msgInDateFg; // inbox media message status text (like in file that is being downloaded)
|
||||
mediaInFgSelected: msgInDateFgSelected; // inbox selected media message status text (like in file that is being downloaded)
|
||||
mediaOutFg: msgOutDateFg; // outbox media message status text (like in file that is being downloaded)
|
||||
mediaOutFgSelected: msgOutDateFgSelected; // outbox selected media message status text (like in file that is being downloaded)
|
||||
|
||||
youtubePlayIconBg: #e83131c8; // youtube play icon background (when a link to a youtube video with a webpage preview is sent)
|
||||
youtubePlayIconFg: windowFgActive; // youtube play icon arrow (when a link to a youtube video with a webpage preview is sent)
|
||||
videoPlayIconBg: #0000007f; // other video play icon background (like when a link to a vimeo video with a webpage preview is sent)
|
||||
videoPlayIconFg: #ffffff; // other video play icon arrow (like when a link to a vimeo video with a webpage preview is sent)
|
||||
toastBg: #000000b2; // toast notification background (like when you click on your t.me link when editing your username)
|
||||
toastFg: windowFgActive; // toast notification text (like when you click on your t.me link when editing your username)
|
||||
|
||||
reportSpamBg: emojiPanHeaderBg; // report spam panel background (like a non contact user writes your for the first time)
|
||||
reportSpamFg: windowFg; // report spam panel text (when you send a report from that panel)
|
||||
|
||||
historyToDownBg: windowBg; // arrow button background (to scroll to the end of the viewed chat)
|
||||
historyToDownBgOver: windowBgOver; // arrow button background with mouse over
|
||||
historyToDownBgRipple: windowBgRipple; // arrow button ripple effect
|
||||
historyToDownFg: menuIconFg; // arrow button icon
|
||||
historyToDownFgOver: menuIconFgOver; // arrow button icon with mouse over
|
||||
historyToDownShadow: #00000040; // arrow button shadow
|
||||
|
||||
historyComposeAreaBg: msgInBg; // history compose area background (message write area / reply information / forwarding information)
|
||||
historyComposeAreaFg: historyTextInFg; // history compose area text
|
||||
historyComposeAreaFgService: msgInDateFg; // history compose area text when replying to a media message
|
||||
historyComposeIconFg: menuIconFg; // history compose area icon (like emoji, attach, bot command..)
|
||||
historyComposeIconFgOver: menuIconFgOver; // history compose area icon with mouse over
|
||||
historySendIconFg: windowBgActive; // send message icon
|
||||
historySendIconFgOver: windowBgActive; // send message icon with mouse over
|
||||
historyPinnedBg: historyComposeAreaBg; // pinned message area background
|
||||
historyReplyBg: historyComposeAreaBg; // reply / forward / edit message area background
|
||||
historyReplyIconFg: windowBgActive; // reply / forward / edit message left icon
|
||||
historyReplyCancelFg: cancelIconFg; // reply / forward / edit message cancel button
|
||||
historyReplyCancelFgOver: cancelIconFgOver; // reply / forward / edit message cancel button with mouse over
|
||||
|
||||
historyComposeButtonBg: historyComposeAreaBg; // unblock / join channel / mute channel button background
|
||||
historyComposeButtonBgOver: windowBgOver; // unblock / join channel / mute channel button background with mouse over
|
||||
historyComposeButtonBgRipple: windowBgRipple; // unblock / join channel / mute channel button ripple effect
|
||||
|
||||
// overview
|
||||
overviewCheckBg: #00000040; // shared media / files / links checkbox background for not selected rows when some rows are selected
|
||||
overviewCheckBgActive: windowBgActive; // shared media / files / links checkbox background for selected rows
|
||||
overviewCheckBorder: windowBg; // shared media round checkbox border
|
||||
overviewCheckFg: windowBg; // shared files / links checkbox icon for not selected rows when some rows are selected
|
||||
overviewCheckFgActive: windowBg; // shared files / links checkbox icon for selected rows
|
||||
overviewPhotoSelectOverlay: #40ace333; // shared photos / videos / links fill for selected rows
|
||||
|
||||
// profile
|
||||
profileStatusFgOver: #7c99b2; // group members list in group profile user last seen text with mouse over
|
||||
profileVerifiedCheckBg: windowBgActive; // profile verified check icon background
|
||||
profileVerifiedCheckFg: windowFgActive; // profile verified check icon tick
|
||||
profileAdminStartFg: windowBgActive; // group members list creator star icon
|
||||
profileAdminStarFgOver: profileAdminStartFg; // group members list creator star icon with mouse over
|
||||
profileOtherAdminStarFg: windowSubTextFg; // group members list admin star icon
|
||||
profileOtherAdminStarFgOver: profileStatusFgOver; // group members list admin star icon with mouse over
|
||||
|
||||
// settings
|
||||
notificationsBoxMonitorFg: windowFg; // custom notifications settings box monitor color
|
||||
notificationsBoxScreenBg: dialogsBgActive; // #6389a8; // custom notifications settings box monitor screen background
|
||||
|
||||
notificationSampleUserpicFg: windowBgActive; // custom notifications settings box small sample userpic placeholder
|
||||
notificationSampleCloseFg: #d7d7d7 | windowSubTextFg; // custom notifications settings box small sample close button placeholder
|
||||
notificationSampleTextFg: #d7d7d7 | windowSubTextFg; // custom notifications settings box small sample text placeholder
|
||||
notificationSampleNameFg: #939393 | windowSubTextFg; // custom notifications settings box small sample name placeholder
|
||||
|
||||
changePhoneSimcardFrom: notificationSampleTextFg; // change phone number box left simcard icon
|
||||
changePhoneSimcardTo: notificationSampleNameFg; // change phone number box right simcard and plane icons
|
||||
|
||||
mainMenuBg: windowBg; // main menu background
|
||||
mainMenuCoverBg: dialogsBgActive; // main menu top cover background
|
||||
mainMenuCoverFg: windowFgActive; // main menu top cover text
|
||||
mainMenuCloudFg: activeButtonFg;
|
||||
mainMenuCloudBg: #2785bf | activeButtonBgRipple;
|
||||
|
||||
mediaPlayerBg: windowBg; // audio file player background
|
||||
mediaPlayerActiveFg: windowBgActive; // audio file player playback progress already played part
|
||||
mediaPlayerInactiveFg: sliderBgInactive; // audio file player playback progress upcoming (not played yet) part with mouse over
|
||||
mediaPlayerDisabledFg: #9dd1ef; // audio file player loading progress (when you're playing an audio file and switch to the previous one which is not loaded yet)
|
||||
|
||||
// mediaview
|
||||
mediaviewFileBg: windowBg; // file rectangle background (when you view a png file in Media Viewer and go to a previous, not loaded yet, file)
|
||||
mediaviewFileNameFg: windowFg; // file name in file rectangle
|
||||
mediaviewFileSizeFg: windowSubTextFg; // file size text in file rectangle
|
||||
mediaviewFileRedCornerFg: #d55959; // red file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .pdf)
|
||||
mediaviewFileYellowCornerFg: #e8a659; // yellow file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .zip)
|
||||
mediaviewFileGreenCornerFg: #49a957; // green file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .exe)
|
||||
mediaviewFileBlueCornerFg: #599dcf; // blue file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .dmg)
|
||||
mediaviewFileExtFg: activeButtonFg; // file extension text in file thumbnail placeholder in file rectangle
|
||||
|
||||
mediaviewMenuBg: #383838; // context menu in Media Viewer background
|
||||
mediaviewMenuBgOver: #505050; // context menu item background with mouse over
|
||||
mediaviewMenuBgRipple: #676767; // context menu item ripple effect
|
||||
mediaviewMenuFg: windowFgActive; // context menu item text
|
||||
|
||||
mediaviewBg: #222222eb; // Media Viewer background
|
||||
mediaviewVideoBg: imageBg; // Media Viewer background when viewing a video in full screen
|
||||
mediaviewControlBg: #0000003c; // controls background (like next photo / previous photo)
|
||||
mediaviewControlFg: windowFgActive; // controls icon (like next photo / previous photo)
|
||||
mediaviewCaptionBg: #11111180; // caption text background (when viewing photo with caption)
|
||||
mediaviewCaptionFg: mediaviewControlFg; // caption text
|
||||
mediaviewTextLinkFg: #91d9ff; // caption text link
|
||||
mediaviewSaveMsgBg: toastBg; // save to file toast message background in Media Viewer
|
||||
mediaviewSaveMsgFg: toastFg; // save to file toast message text
|
||||
|
||||
mediaviewPlaybackActive: #c7c7c7; // video playback progress already played part
|
||||
mediaviewPlaybackInactive: #252525; // video playback progress upcoming (not played yet) part
|
||||
mediaviewPlaybackActiveOver: #ffffff; // video playback progress already played part with mouse over
|
||||
mediaviewPlaybackInactiveOver: #474747; // video playback progress upcoming (not played yet) part with mouse over
|
||||
mediaviewPlaybackProgressFg: #ffffffc7; // video playback progress text
|
||||
mediaviewPlaybackIconFg: mediaviewPlaybackActive; // video playback controls icon
|
||||
mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver; // video playback controls icon with mouse over
|
||||
mediaviewTransparentBg: #ffffff; // transparent filling part (when viewing a transparent .png file in Media Viewer)
|
||||
mediaviewTransparentFg: #cccccc; // another transparent filling part
|
||||
|
||||
// notification
|
||||
notificationBg: windowBg; // custom notification window background
|
||||
|
||||
// calls
|
||||
callBg: #26282cf2; // phone call popup background
|
||||
callNameFg: #ffffff; // phone call popup name text
|
||||
callFingerprintBg: #00000066; // phone call popup emoji fingerprint background
|
||||
callStatusFg: #aaabac; // phone call popup status text
|
||||
callIconFg: #ffffff; // phone call popup answer, hangup and mute mic icon
|
||||
callAnswerBg: #64c15b; // phone call popup answer button background
|
||||
callAnswerRipple: #52b149; // phone call popup answer button ripple effect
|
||||
callAnswerBgOuter: #50eb4126; // phone call popup answer button outer ripple effect
|
||||
callHangupBg: #d75a5a; // phone call popup hangup button background
|
||||
callHangupRipple: #c04646; // phone call popup hangup button ripple effect
|
||||
callCancelBg: #ffffff; // phone call popup line busy cancel button background
|
||||
callCancelFg: #777777; // phone call popup line busy cancel button icon
|
||||
callCancelRipple: #f1f1f1; // phone call popup line busy cancel button ripple effect
|
||||
callMuteRipple: #ffffff12; // phone call popup mute mic ripple effect
|
||||
|
||||
callBarBg: dialogsBgActive; // active phone call bar background
|
||||
callBarMuteRipple: dialogsRippleBgActive; // active phone call bar mute and hangup button ripple effect
|
||||
callBarBgMuted: #8f8f8f | dialogsUnreadBgMuted; // phone call bar with muted mic background
|
||||
callBarUnmuteRipple: #7f7f7f | shadowFg; // phone call bar with muted mic mute and hangup button ripple effect
|
||||
callBarFg: dialogsNameFgActive; // phone call bar text and icons
|
||||
|
||||
importantTooltipBg: toastBg;
|
||||
importantTooltipFg: toastFg;
|
||||
importantTooltipFgLink: mediaviewTextLinkFg;
|
||||
15998
Telegram/Resources/emoji_autocomplete.json
Normal file
2
Telegram/Resources/etc/qt_linux.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[Paths]
|
||||
Libraries=:/gui/art
|
||||
2
Telegram/Resources/etc/qt_win.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[Platforms]
|
||||
WindowsArguments = nomousefromtouch
|
||||
BIN
Telegram/Resources/fonts/OpenSans-Bold.ttf
Normal file
BIN
Telegram/Resources/fonts/OpenSans-Regular.ttf
Normal file
BIN
Telegram/Resources/fonts/OpenSans-Semibold.ttf
Normal file
BIN
Telegram/Resources/icons/add_contact_phone.png
Normal file
|
After Width: | Height: | Size: 380 B |
BIN
Telegram/Resources/icons/add_contact_phone@2x.png
Normal file
|
After Width: | Height: | Size: 708 B |
BIN
Telegram/Resources/icons/add_contact_user.png
Normal file
|
After Width: | Height: | Size: 316 B |
BIN
Telegram/Resources/icons/add_contact_user@2x.png
Normal file
|
After Width: | Height: | Size: 579 B |
BIN
Telegram/Resources/icons/box_button_back.png
Normal file
|
After Width: | Height: | Size: 218 B |
BIN
Telegram/Resources/icons/box_button_back@2x.png
Normal file
|
After Width: | Height: | Size: 282 B |
BIN
Telegram/Resources/icons/box_button_close.png
Normal file
|
After Width: | Height: | Size: 148 B |
BIN
Telegram/Resources/icons/box_button_close@2x.png
Normal file
|
After Width: | Height: | Size: 269 B |
BIN
Telegram/Resources/icons/box_search.png
Normal file
|
After Width: | Height: | Size: 350 B |
BIN
Telegram/Resources/icons/box_search@2x.png
Normal file
|
After Width: | Height: | Size: 707 B |
BIN
Telegram/Resources/icons/bubble_tail.png
Normal file
|
After Width: | Height: | Size: 156 B |
BIN
Telegram/Resources/icons/bubble_tail@2x.png
Normal file
|
After Width: | Height: | Size: 247 B |
BIN
Telegram/Resources/icons/call_answer.png
Normal file
|
After Width: | Height: | Size: 456 B |
BIN
Telegram/Resources/icons/call_answer@2x.png
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
Telegram/Resources/icons/call_arrow_in.png
Normal file
|
After Width: | Height: | Size: 209 B |
BIN
Telegram/Resources/icons/call_arrow_in@2x.png
Normal file
|
After Width: | Height: | Size: 306 B |
BIN
Telegram/Resources/icons/call_arrow_out.png
Normal file
|
After Width: | Height: | Size: 211 B |
BIN
Telegram/Resources/icons/call_arrow_out@2x.png
Normal file
|
After Width: | Height: | Size: 298 B |
BIN
Telegram/Resources/icons/call_discard.png
Normal file
|
After Width: | Height: | Size: 405 B |
BIN
Telegram/Resources/icons/call_discard@2x.png
Normal file
|
After Width: | Height: | Size: 736 B |
BIN
Telegram/Resources/icons/call_rating.png
Normal file
|
After Width: | Height: | Size: 666 B |
BIN
Telegram/Resources/icons/call_rating@2x.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
Telegram/Resources/icons/call_rating_filled.png
Normal file
|
After Width: | Height: | Size: 560 B |
BIN
Telegram/Resources/icons/call_rating_filled@2x.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
Telegram/Resources/icons/call_record_active.png
Normal file
|
After Width: | Height: | Size: 412 B |
BIN
Telegram/Resources/icons/call_record_active@2x.png
Normal file
|
After Width: | Height: | Size: 800 B |
BIN
Telegram/Resources/icons/call_record_muted.png
Normal file
|
After Width: | Height: | Size: 459 B |
BIN
Telegram/Resources/icons/call_record_muted@2x.png
Normal file
|
After Width: | Height: | Size: 843 B |