2012-11-21 14:29:29 +00:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2012 Avionic Design GmbH
|
|
|
|
*
|
2014-10-08 09:14:34 +00:00
|
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
|
|
* copy of this software and associated documentation files (the "Software"),
|
|
|
|
* to deal in the Software without restriction, including without limitation
|
|
|
|
* the rights to use, copy, modify, merge, publish, distribute, sub license,
|
|
|
|
* and/or sell copies of the Software, and to permit persons to whom the
|
|
|
|
* Software is furnished to do so, subject to the following conditions:
|
|
|
|
*
|
|
|
|
* The above copyright notice and this permission notice (including the
|
|
|
|
* next paragraph) shall be included in all copies or substantial portions
|
|
|
|
* of the Software.
|
|
|
|
*
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
|
|
|
|
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
|
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
|
|
* DEALINGS IN THE SOFTWARE.
|
2012-11-21 14:29:29 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __LINUX_HDMI_H_
|
|
|
|
#define __LINUX_HDMI_H_
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
2014-12-19 12:14:21 +00:00
|
|
|
#include <linux/device.h>
|
2012-11-21 14:29:29 +00:00
|
|
|
|
2019-01-10 21:14:36 +00:00
|
|
|
enum hdmi_packet_type {
|
|
|
|
HDMI_PACKET_TYPE_NULL = 0x00,
|
|
|
|
HDMI_PACKET_TYPE_AUDIO_CLOCK_REGEN = 0x01,
|
|
|
|
HDMI_PACKET_TYPE_AUDIO_SAMPLE = 0x02,
|
|
|
|
HDMI_PACKET_TYPE_GENERAL_CONTROL = 0x03,
|
|
|
|
HDMI_PACKET_TYPE_ACP = 0x04,
|
|
|
|
HDMI_PACKET_TYPE_ISRC1 = 0x05,
|
|
|
|
HDMI_PACKET_TYPE_ISRC2 = 0x06,
|
|
|
|
HDMI_PACKET_TYPE_ONE_BIT_AUDIO_SAMPLE = 0x07,
|
|
|
|
HDMI_PACKET_TYPE_DST_AUDIO = 0x08,
|
|
|
|
HDMI_PACKET_TYPE_HBR_AUDIO_STREAM = 0x09,
|
|
|
|
HDMI_PACKET_TYPE_GAMUT_METADATA = 0x0a,
|
|
|
|
/* + enum hdmi_infoframe_type */
|
|
|
|
};
|
|
|
|
|
2012-11-21 14:29:29 +00:00
|
|
|
enum hdmi_infoframe_type {
|
|
|
|
HDMI_INFOFRAME_TYPE_VENDOR = 0x81,
|
|
|
|
HDMI_INFOFRAME_TYPE_AVI = 0x82,
|
|
|
|
HDMI_INFOFRAME_TYPE_SPD = 0x83,
|
|
|
|
HDMI_INFOFRAME_TYPE_AUDIO = 0x84,
|
2019-05-16 14:10:09 +00:00
|
|
|
HDMI_INFOFRAME_TYPE_DRM = 0x87,
|
2012-11-21 14:29:29 +00:00
|
|
|
};
|
|
|
|
|
2013-08-19 15:59:05 +00:00
|
|
|
#define HDMI_IEEE_OUI 0x000c03
|
2017-03-13 11:24:00 +00:00
|
|
|
#define HDMI_FORUM_IEEE_OUI 0xc45dd8
|
2012-11-21 14:29:29 +00:00
|
|
|
#define HDMI_INFOFRAME_HEADER_SIZE 4
|
|
|
|
#define HDMI_AVI_INFOFRAME_SIZE 13
|
|
|
|
#define HDMI_SPD_INFOFRAME_SIZE 25
|
|
|
|
#define HDMI_AUDIO_INFOFRAME_SIZE 10
|
2019-05-16 14:10:09 +00:00
|
|
|
#define HDMI_DRM_INFOFRAME_SIZE 26
|
2020-04-27 08:05:23 +00:00
|
|
|
#define HDMI_VENDOR_INFOFRAME_SIZE 4
|
2012-11-21 14:29:29 +00:00
|
|
|
|
Merge DRM changes from upstream v6.11..v6.12
NOTE: This commit does not compile due to missing RHEL-specific fix-ups,
which are split out into separate Git commits following this one.
If git bisect selected this commit, run "git bisect skip" and try again.
Repeat this until it selects a commit which compiles.
This commit was generated using:
rhdrm-merge-drm v6.12 RHEL-53570
JIRA: https://issues.redhat.com/browse/RHEL-53570
Conflicts:
Conflict resolution:
diff --cc drivers/gpu/drm/amd/amdkfd/kfd_svm.c
index a6b5ab89b7ca1,1893c27746a52..db88bfc044b5b
--- a/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_svm.c
@@@ -2677,15 -2727,13 +2727,16 @@@ svm_range_get_range_boundaries(struct k
return -EFAULT;
}
- *is_heap_stack = vma_is_initial_heap(vma) || vma_is_initial_stack(vma);
+ *is_heap_stack = (vma->vm_start <= vma->vm_mm->brk &&
+ vma->vm_end >= vma->vm_mm->start_brk) ||
+ (vma->vm_start <= vma->vm_mm->start_stack &&
+ vma->vm_end >= vma->vm_mm->start_stack);
start_limit = max(vma->vm_start >> PAGE_SHIFT,
- (unsigned long)ALIGN_DOWN(addr, 2UL << 8));
+ (unsigned long)ALIGN_DOWN(addr, 1UL << p->svms.default_granularity));
end_limit = min(vma->vm_end >> PAGE_SHIFT,
- (unsigned long)ALIGN(addr + 1, 2UL << 8));
+ (unsigned long)ALIGN(addr + 1, 1UL << p->svms.default_granularity));
+
/* First range that starts after the fault address */
node = interval_tree_iter_first(&p->svms.objects, addr + 1, ULONG_MAX);
if (node) {
diff --cc drivers/gpu/drm/panel/panel-sitronix-st7701.c
index a69e861eb1130,eef03d04e0cd2..56a4041f5ef5c
--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
@@@ -12,8 -13,9 +13,9 @@@
#include <linux/gpio/consumer.h>
#include <linux/delay.h>
#include <linux/module.h>
-#include <linux/of.h>
+#include <linux/of_device.h>
#include <linux/regulator/consumer.h>
+ #include <linux/spi/spi.h>
#include <video/mipi_display.h>
Commit list:
commit 9fc97277eb2d17492de636b68cf7d2f5c4f15c1b
commit 7c0389c615b5c6aef1b0e38e30db759b3cbff885
commit 627c961d672d3304564455ba471f5e4405170eec
commit 8169b2097d88d99d7e4a72e20e4b549efe9eb8d7
commit 67d90d679eb3447f73e2a1fe55f7e6c6a44c9fa1
commit 2e524668c440104633af1effcc85d1d6234c7ccf
commit 96e7ebb220f8a873321cfc5a87bc4533d36ec444
commit e8babb280b5ef904df54b3a90e5a7e3a9600c4a9
commit 282e6f846d8c3fcf36293f68f38d814645c3b852
commit a708f6501c692551e3d4ea618c44021f436730d9
commit 04e9c0ce19ac68afd8be7fd54772db3b0356cf75
commit 9dae9751c7b0086963f5cbb82424b5e4cf58f123
commit 466a6c3855cf00653c14a92a6e9f8ae50077b77d
commit 3078d9c8b6a0939bc732fd1c36ef86c0178127dd
commit 01570b446939c3538b1aa3d059837f49fa14a3ae
commit c55f79f317ab428ae6d005965bc07e37496f209f
commit 01e0cfc994be484ddcb9e121e353e51d8bb837c0
commit f3a47a269119ade7ea22d0465c7fbe518ca1bdfc
commit 74e3076800067c6dc0dcff5b75344cec064c20eb
commit caaf1f44a6a27bae33eee189842c4d8fc21c3b02
commit f592e01664b4a57b109fcf6f6916145517f94bd7
commit 6be74ddd0609959b4005f88b6a4d4af678e4a71f
commit 9c62fb62c9f0761eeda8f2a9517e007ff2cdbe9a
commit 8e9bf0fb10a79aaed37474600948cd33d14aa606
commit 4c44f89c5daee9540cb7428de5d835bd00951350
commit da966b82bf3d16f89a05732c933a589ec798d3f7
commit 10efe34dae798c652053d4363871914c478f1475
commit 3756310e9fe1e0182adac89cedaa98c0eea66675
commit 1dcfca093be9e013a53e3c9b74b3f60ea9c5160e
commit 014e597d35816b56c7aac1348b77c73657c4066e
commit c4ce398cf18ae2859cc9930a9486b576ce262de9
commit 533ca79cd9f734aae56814445e3f1e6cc1a50358
commit 56ab6986992ba143aee0bda33e15a764343e271d
commit 3d122660dc70029d9cccb4e8670125f0affa959e
commit 7b5bdae7740eb6a3d09f9cd4e4b07362a15b86b3
commit b2013783c4458a1fe8b25c0b249d2e878bcf6999
commit ea74bf9ccba9ae80fc0766c07c4abaef927e9e63
commit 7fbad577c82c5dd6db7217855c26f51554e53d85
commit 33891539f9d6f245e93a76e3fb5791338180374f
commit 24179ff9a2e4524ce83014b8827a73ad03a25c13
commit 7f58ebaccb67cb22b2936ba79c844f1e446dc73b
commit a16b680a2140e6cbda41ac144564696c3ee2815f
commit e4bd1db1c1f771983393bf5574854dff26ca7532
commit 0e7f4e6a20d550252c4f355d5a303b1d9c8ff052
commit 76299a557f36d624ca32500173ad7856e1ad93c0
commit 9d8c094ddab05db88d183ba82e23be807848cad8
commit 71733b8d7f50b61403f940c6c9745fb3a9b98dcb
commit 993d36ac99efeafeb7b5f12353def6d7d20d6389
commit 0daf44ea9dccfcdb1fe694e9ea85497b6cc3a065
commit a4d5ce61765c08ab364aa4b327f6739b646e6cfa
commit 211ad49cf8ccfdc798a719b4d1e000d0a8a9e588
commit 4613aa66e42ba1b0c896495a207b3b26e94e44d5
commit 61fe488fc78a3024b8d4cafc90a34158f4562dae
commit f6ca930d974e473fd608fc9aa1759fbe731fe44d
commit bd85e00fa489f5374c2bad0eac15842d2ec68045
commit 57c2b3e684ba3e82e9944bc1975e047bd1630537
commit d6e850acc716d0fad756f09488d198db2077141e
commit ff10c99ab1e644fed578dce13e94e372d2c688c3
commit 0237368193e897aadeea9801126c101e33047354
commit e97701a069612ba2fa1d92b56a720b108049df4e
commit 3b0974d7b74a908d1caa27f05a97551943e1bffe
commit 09af6037128c101c280c95c56d970ce8475506c2
commit bc34d310b578952d37b5200a7fa7475ab2a2bd5e
commit fd5a9b950ea8ba2c08ce07418b36b296a04d712b
commit 6c9ee258b1f4e7021224c9bf541fe6b17a03ee40
commit a5beee65241d25ad20dd814668c975ba13a42615
commit da9bbdb97469383a2ac97435a3b09543d14139fe
commit 4c46e34e67587b268abc3916c9613426018561e6
commit 94900000380300b230dc1bed489b598a2a2c55a1
commit 6a1738b3fdd92d48e61de438d05dedbc00fc598f
commit 566ad72ba636b745beb8a440bd4c05e779b95728
commit 4290eaa8424905dcee4daa0666ec841dc3a0bfb3
commit f89d7664c3617836aecd291c56c8ab63fe228fbd
commit 4d722029930bca7f53d99dbfc300a40dc297dee6
commit d43caea1faf5c31dc02aa1adb8bb1aa1c33bf86f
commit 43a6faa6d9b5e9139758200a79fe9c8f4aaa0c8d
commit 6f1cacf4eba7a3203f08954a7e00b744e43f741c
commit 4c3fe5eae46b92e2fd961b19f7779608352e5368
commit 86c5b70a9c0c3f05f7002ef8b789460c96b54e27
commit cd3a2e8b0a0367c636cd82efaf7802cf85ae5dad
commit 7bb97cf915884956311352eae3f444eaaae48cea
commit 3ac9384061b250ee40eda5facff10b85e2d5d3d8
commit 45d30c828c613441bfbe5c97ca766854152b7181
commit a237f217bad50c381773da5b00442710d1449098
commit e1a261ba599eec97e1c5c7760d5c3698fc24e6a6
commit e02cea83d32d3a616c9ef8b6b50a83444a6bbcbf
commit 7dbe8af13c189f5937e87e9fb924d5bbc49e6f71
commit 452bca0edbd0764ca0284239d5438b3edd305ab3
commit 108c972a11c5f6e37be58207460d9bcac06698db
commit 54f07cfc016226c3959e0b3b7ed306124d986ce4
commit 8d79acd567db183e675cccc6cc737d2959e2a2d9
commit 2b808d6b2919cb2fe92901e5087da7b4ed4b9e07
commit 523f191cc0c728a02a7e5fd0ec26526c41f399ef
commit 8a92e2a67f627e69dd52aa9c2d3176be13aef2cc
commit 3849c6ff3a1517e4c8a6d004d9cb31241c849713
commit 775d0adc01a55fe0458139330415d86bb3533efe
commit 275aa53f59df769802f28a0a623019aadab2e05d
commit bc657615e10ddd7637dcc05811194ad7e2baea33
commit 99e0fb8b087120b5a7019f1cff6c5c2b5b925ae5
commit 0fde907da2d5fd4da68845e96c6842497159c858
commit 5e4e1ed6b87b6b3a3531cd8b5cfa9c3b09d841b2
commit 104bcfae57d80c484185c012cc0ee8d8d5889a7e
commit e4a0251d36fc6c190c545aa95702eec0efe05a4f
commit 7108b4a589cd6d3a2c1276fd610b3500f46de66a
commit 0c977ff2b807aa53f655f095b0a306f18d8cf7be
commit 3d0c4a62cc553c6ffde4cb11620eba991e770665
commit ce8c161cbad43f4056451e541f7ae3471d0cca12
commit a2387e69493df3de706f14e4573ee123d23d5d34
commit 2149ded63079449b8dddf9da38392632f155e6b5
commit 754c9129b9494b2b058add1d1a627fb3c9466a03
commit b345b3542d66fea49bff53288d347ccb06fa1b3a
commit e8f834b559621d634a939381caf99a024e272211
commit d6460bd52c27fde97d6a73e3d9c7a8d747fbaa3e
commit 5cd522b5331b348302fe410dab1cd070e4fd6998
commit ad16682db18f4414e53bba1ce0db75b08bdc4dff
commit 89c6ea2006e2d39b125848fb0195c08fa0b354be
commit d5070c9b29440c270b534bbacd636b8fa558e82b
commit 9f774c42a908affba615bbed7463dd4f904dd5f1
commit c2c2a91f3868515969a758042887fdc722216525
commit 3a9b77cee7502f7450c725d4ead2c4a44924d158
commit 7e33fc2ff6754b5ff39b11297f713cd0841d9962
commit a522b285c6b4b611406d59612a8d7241714d2e31
commit 61ac035361ae555ee5a17a7667fe96afdde3d59a
commit 0a382f9bc5dc4744a33970a5ed4df8f9c702ee9e
commit d930c19fdff3109e97b610fa10943b7602efcabd
commit be1dcdffa8fadc22ad272f605a53e2a2fd30e7f8
commit 2885d283cce544cf3619f35f0acb3d073de036e1
commit ec92c47d7d098e85eae7fb25c6bc07158686e675
commit f6f22012e6c73867b959524604984ee5ebfd105f
commit bd40536ae33911bc74df5ba3b29b573dcb72f904
commit 8bfab7cd8335b10bad92e44f58c5a038762bcbc3
commit e17eedf56ea7afacd919a3d6cc75a617cddd003a
commit 8f3d86f13eb2b37d86fc48df8995dffd9b7d9010
commit 37db1e776285518a7e1269b868d094a4532b2d54
commit 57ecead343e724b6ea38e9c2d8f794b293cf2951
commit cf1e6edbd1c8ba654f97071ccb748d87ef0115aa
commit 9790bbe3ba48b659c0152f49552f6abc18f85bc8
commit 25ec7e809cc1fe9f01a71199d29092f6f1b4611c
commit bc3ca4d94369838c3b6668a183467d4a69a5a482
commit f00bfaca704ca1a2c4e31501a0a7d4ee434e73a7
commit 7e0fe233aa0849de8a0a5e60cb0d71dfb359664f
commit d4b9b6da5777bb03f36f01bb6b05c6cc303ededb
commit b26d9dddad7bca6727069f6a26b265d303c65c49
commit bf32a3a1268638442ac43b347e4a4a09044dccea
commit d5e79eeba3086a52593b295ac4bf6eddd64d4aad
commit 9c27f613d55f8ffeb3f250d9d34e41edca3df3b5
commit 649b93dbb902ae3237fddbe998eb1f4de1a14b71
commit c8a31ff6199f12ca65d73f1235117c1d9e6365a9
commit 8af13c3fc1259c1b8cfc4459d3701fcf41ad74df
commit 1fb4dceeedc5f0d1d062ddc44c4a426e1639e387
commit 19cc4b7d75b52df2b4fbb76428a6b0dda3d248bc
commit f763c3b543d80ebcb94dd19a69324bf2b72b23ab
commit 08bed7e4ff24f90e200defcd2c23e70b0a3cd710
commit 43796955a89572c63f7f96e271a2849c27d18f2d
commit 00bb3223bf7cfed3c9c714e994cbd454cc3e6b73
commit 1eba165aa40c79f65f487678c8ea8e77b1c6a5a4
commit ccb54d7d91d256485cfe5403a12abb0175ce4539
commit 0f1a93704a5cf53ce819a7c544125442666d61ce
commit e84f798a93881062cd14ce316a68068edd50bfb4
commit b68417613d4134b9e39fff95e72ca726268b47db
commit 4ccc8fdcca670edd76d8bfd6389f04c448cff6f6
commit 5f30ee493044e9ea3a46167e5597a96f5c302adb
commit 0961367cb5208850a123d235d147f92f586b2491
commit 98579743c4561acc3b1c7d2f3fcd46b2160db5ba
commit e8d77cfdd2698039667432b8569bac34d13508c1
commit bc2fe69f16c7122b5dabc294aa2d6065d8da2169
commit 3c9154310af71802de2f40c5689b66009a407f37
commit 5fc77c26970d443f1c020ee8a5d475ad6b81e15f
commit c83ecc0bee94995117329fccbfa6e8b43ce56044
commit 218784049f4b90834dd7b854857df0b7e0f76567
commit f5c783868855bbecfc4311050dbaca4cb28ada5e
commit b3c9c9affd71f1f9b136534d6f56f392edb78620
commit c18fa08e6fd8952e88fa9ad108371c2bd5b82564
commit d94df7cad26b4c5958fbfa550d65794c89aa90ba
commit f60881ca126cf825b89b4118e93dbd82ea9bcf33
commit b995c0a6de6c74656a0c39cd57a0626351b13e3c
commit 367cd9ceba1933b63bc1d87d967baf6d9fd241d2
commit 3718a619a8c0a53152e76bb6769b6c414e1e83f4
commit 5559598742fb4538e4c51c48ef70563c49c2af23
commit 1ff12bcd7deaeed25efb5120433c6a45dd5504a8
commit 35ff747c86767937ee1e0ca987545b7eed7a0810
commit 892abca6877a96c9123bb1c010cafccdf8ca1b75
commit 906fd46a65383cd639e5eec72a047efc33045d86
commit 5d2c102deff63ff8980dfa848ee41858d255c291
commit 2563391e57b5a9c1d83fd36c05ac4cbafeb5efe6
commit 5ed9481db74740fd33ec4079b29db88e8c9f4a1c
commit f91a9af09dea850d83d4b217b8acbafd97b5c61f
commit 39d496d4721ba509647a70041f38d82b03c74680
commit 4e8eac98046446d99cbbed740f0767204b839f3f
commit a41d58fb91248557438de4e8298d1d2ed5b39564
commit f82200703434522f1b35d38bdef02486d22b2f25
commit 9932ca4c03c8181601f611dd366fceb765329800
commit 0beca868cde8742240cd0038141c30482d2b7eb8
commit be1fb44389ca3038ad2430dac4234669bc177ee3
commit fdd5ecbbff751c3b9061d8ebb08e5c96119915b4
commit 6d64d39486197083497a01b39e23f2f8474b35d3
commit 323b19f424486e61784e8797a8bfb2e24585e162
commit b8d3782da396215615c3d125f0829d1d06ad2c97
commit 08cbe68d4aafcf651a86730a485df53e6ee9f594
commit be7a6a5171649c39f79a6259518218351082bd99
commit acce1eb8eb5de360fd82fd900454ff180912d8b1
commit 748b3c4ca0bf43cec186ace2ecb33457d7a4653d
commit f59549c7e705be0087d08bc116ccc767b86d8362
commit 48eba83018c14ba6c102f5801d31c398807535d9
commit 6b0a9bf72c04cd8d2864fccce42817c24b060aec
commit 2d67c4b54909982d462bfe227279d1499b329545
commit 60a9472cf0a8568f32be6cbbd32ee7759bffe215
commit 90985660ba488cd3428706e7d53d6c9cdbbf3101
commit 78dd6a8d33a3363fb4196e173be0eb4002962798
commit a6e23bec8ed184ed2a11080b28cdbd7a3024f0c0
commit fb1b5e1dd53fc834e12f69749cbc8484382599c4
commit a9ed2f052c5c14e4be58c5ec8794dffc87588123
commit 27cdf8c3cae2ad1dbfe1a32ff999c98349366862
commit 56631dee2932dbc203f0abd1011aa9d3d621e206
commit a7e8467fbeee654e390aad1736291d273b407a2c
commit 7a38efeee6b59d0984ff0470d234a06fe6a7cf3c
commit ca82ee4e9fc1443f9ceec615918b299766432eec
commit f2ac52634963fc38e4935e11077b6f7854e5d700
commit 4df9e2200fb8ae7199e46eaffeb9430bc0ba3ea7
commit 666f14cab21b17ccc1bdfe1e82458aa429b3b7e0
commit 93381e6b61804b777f60357d96d6254eb10b9b56
commit abf839f5ebd98134f51764f2a2841faa6cbf268a
commit 80237bfc031cd74cb8abf0d21094207284d56a48
commit fec5f8e8c6bcf83ed7a392801d7b44c5ecfc1e82
commit 585e3fdb36f59c5cfed0ae06c852dc1df22b1d60
commit 49cfaebe48e97500a68d5322a8194736b0a2c3cf
commit caaf576292f8ccef5cdc0ac16e77b87dbf6e17ab
commit f9e292cbba21e79abea7315b41a52c36ea2b6980
commit c86ad39140bbcb9dc75a10046c2221f657e8083b
commit a11b36ba9c1ac494c6a5cf7f1a5e68c1ce4dbe18
commit db54a725d57985c869f6fe4153a36cd229ab0b73
commit fb91065851cd5f2735348c5f3eddeeca3d7c2973
commit 72dc6bf159467f43667bead6016965821186490b
commit 3f7477bfbb906ec1cd9ad681475a04a142345eae
commit 6fa4bf3dce0668a96faca0024e382f4489a9cc9b
commit 332315885d3ccc6d8fe99700f3c2e4c24aa65ab7
commit 14d6ca0740e6237f4bca2dabee4e240b6f4be508
commit 0cf80506918da0d2cd9d31e3b07831f94a2c5cc6
commit 94beb4ac1b3bc5fbeef977960a90ee4f594b4465
commit aaa21e6a33bae017fc190bd75f76baa29d259346
commit f52ea01925f4eeb967c09cb5dae61608a2330541
commit f7543209ce5dc09e3f5a27a7d4ee53e226283719
commit fa53b23ff7c98930c7e529b8f5228d9f182ae2bc
commit a90e1dc25c064bf21353cb342aac938662a148e4
commit ec0d7abbb0d464619d6d1646f03603c6616d966e
commit fae1879dc229249c17e5fd4ef81bf33684ee58f0
commit 1a03b0e6c5fdb476203be4f4597205ff8799369b
commit d925c04d974c657d10471c0c2dba3bc9c7d994ee
commit 3237403b98e173c296ec83cbba5e9def331c5e13
commit 58ed441367b9b0fb48aa8cd471a73073d1143e16
commit 8732594017d32132ca741f4ec4eec91211f5d10c
commit 779ea9d32612f8e78a2f362d52cf31c23ba878f0
commit c8a0222dedf90e9a79b88814e32ffb43ac4beef6
commit 0352e39e7e781fe6a408c70a336d0f321dfe108b
commit bc50b614d59990747dd5aeced9ec22f9258991ff
commit b7e99058eb2e86aabd7a10761e76cae33d22b49f
commit bdf606810210e8e07a0cdf1af3c467291363b295
commit d81873f9e715b72d4f8d391c8eb243946f784dfc
commit f22f4754aaa47d8c59f166ba3042182859e5dff7
commit ac2140449184a26eac99585b7f69814bd3ba8f2d
commit 12fb3e9c88406732749fb2f111911a2438eeb0fc
commit 7e60ecc2b70adb41b92752cbcd749040e00b57b8
commit 9c7e69d2e1245fdd5fa5c65cd022530b2a5ef1b7
commit 68e599db7a549f010a329515f3508d8a8c3467a4
commit cba7fec864172dadd953daefdd26e01742b71a6a
commit 4b6377f0e96085cbec96eb7f0b282430ccdd3d75
commit eac3b274aaea11ec4ade8e8f684055db80d5f8b7
commit 22a9d5cbf88a92ac6cd473c3ba1c369aee8fec9a
commit 834368eab36922595a402b9e76470f8efa2fac7f
commit 8284951a6e79c6806c675e5f68a4cd425dd56bc4
commit c395fd47d1565bd67671f45cca281b3acc2c31ef
commit 015b8a2fdf39a4c288ff24e7b715b8d9198e56dc
commit a2737c404cb2c1c335db30737925a306a2e7cc11
commit f53f526f7050041718af84e33fc24f670e7dccdb
commit af4808ac40dbf668183d0b69ef6b31e62e1fc5df
commit 4b95cec68937a6302c7085b26258cf721d726684
commit 2662b7d9d8bc1dda1f89f0dd33422e069f2f861c
commit 39879321769cc2d9a690725959ef76af92a38ac1
commit 48695573d2feaf42812c1ad54e01caff0d1c2d71
commit acddd5cf70e609e1e1e638ac0422977ea2b4783f
commit a7909022371dc8c70bdc4871a97cc49e34d78a6d
commit bc6c2a6f6495668e3cf0acbecf820b93ca03aef7
commit 5ebca62eb8ebff67e2c8c4903bdb4f3c07922114
commit 238352b4949bc5c724f6adc1c78d50f1d15e4759
commit bd4bea5ab2bda37ddb092a978218c4d9b46927e6
commit 61eec998c9399d1cce91c7a2f51a4d0cfbab97bb
commit c60ca14bfd2d399a66f7164e044b63991c6a5a82
commit 708899133615bdb8087cafa129b8e24397d0c79d
commit 2108cdcee58b06460a8ecb106d15ab69f5bd49fc
commit 6482253e6e1ad1c3a76645a3899d3cfdb5b918cb
commit 76a791fa0926e504f262310cbd0c8f1a60e67ae8
commit a2b4da9501c120d60413065169f140bc3d2e5991
commit 66ac3451fb467ce44fb1d4517f91db7390b9fa6b
commit 7214da0ed2220a2b9ad22aa77a5974cdd2a62799
commit b46119578167150810184494b2a097c40e2144b8
commit b049504e211e8f4dbcd40434f2dcab2215ea1039
commit 305cd109b761202d71f2f655ea369fe889ba1d01
commit 3b37e2725ab32c9055bec00ef41caa63839efd37
commit 0b071245ddd98539d4f7493bdd188417fcf2d629
commit 08ae395ea22fb3d9b318c8bde28c0dfd2f5fa4d2
commit 47c0388b0589cb481c294dcb857d25a214c46eb3
commit 517fff221c1e6b8a8db69e7a440116caee120ff5
commit 629568d25fea8ece4f65073f039aeef4e240ab67
commit 1a394b4f504f33eac8c38b6f42ba025105c7e869
commit 31b42af516afa1e184d1a9f9dd4096c54044269a
commit d34f4f058edf1235c103ca9c921dc54820d14d40
commit b4224f6bae3801d589f815672ec62800a1501b0d
commit 3e307d6c28e7bc7d94b5699d0ed7fe07df6db094
commit 10ba3753665f77314cb475e1a4ad0785f4770c4b
commit 83b501c1799a96a41e163973e88826253ffadfb3
commit 773884e39bb5a57f998af48b3948308568027a54
commit 93183c9959d456530ae502865586522acf21adf7
commit 3c8d2d5da3e29f73fec6e04a424e789422f697db
commit d969b31afa439f71f810076a5612596dae38fd86
commit e814902866ed22bc07d2af1303f3183357a438e8
commit f4aa02c43969c36213a7fd4e56831693fc83ec4b
commit 351a88713b6daae5435d683ddab1913a65d09eb2
commit 8155566a26b8d6c1dd914f06a0c652e4e2f2adf1
commit 17c6baff3d5f65c8da164137a58742541a060b2f
commit 75c3f06fd900e01a68b8ade17e6b6be64cfdc9ff
commit fdedd77b0eb31209c59107de66880ef0be21a77a
commit f3c681f0c3b171db923d6147785064962351e043
commit 60c30ba7ba2064066ec462236666058cbbf619c1
commit e06b71b2313a00579ba64a1cc43ad29d64cb8d4c
commit 8f28c465a455563917aa15bf5ef40016b2a665d6
commit 641a118c9d91e53bc920ec0ea2ea350d84eb7a9d
commit be8f9f4c866f41b62a3df9a5cfd54e0e88fc3e3e
commit 81e0a3d1063e388efcbbb4648e07479575ec85b4
commit 5e9209c3739454a08c4d770c649187b0f51dffc6
commit 9d8e91439fc3890de55eef2bcfde97470b7dc04d
commit fd6797ec50c561f085bc94e3ee26f484a52af79e
commit 0d5040e406d2c4404d26b841c4aa34cec0bf1088
commit 20d70de5823ee6b9d4e8b3db4c13123cee0358af
commit 961ae5f9807bb15af0065485785725768a7269b9
commit 448359c1ce50a8e61842c39ffd52f399409a6860
commit c0bfe34330b5fafdbbc63a7124841711651b96b9
commit 6777264dfabe2a7c75453031bee5bcc2e7882cf7
commit ea94c8e217f9a845bf2c565b77c5eb078e975eae
commit 2e408ad7a55273b55b14ce28f62111dc1c4f7fb6
commit ba6b8479c944c50db7e2a81794885896fa6c48a8
commit d075d99ef73bbeca878fe2cbf758f8524bb698d5
commit 8bc1ab4f615b200507b113d31ca614fa17b9772d
commit b5bd7cf76b7cf8f2dfe36aec0e4916a2a95c8fbb
commit 4a865f6a76ed1295d878029cf7a1797395b1aec0
commit b2d474d4c8fa9cf7d18dae3c0784c4a710e850ca
commit ca6eef9b1c3486bedadad6a85d246b26df51c61d
commit d6e44a8548b614fa9d6c77e0c12b929c2c791258
commit 455167e8751c7fc50e88496e6d5dfb896e2ab3dc
commit ffe9f1bfb3e6709769779bc6c1a5b1d971b7b95d
commit 7e0d8de4d35789b57eee8acb0a952b854edb37a1
commit a897f65b3a6175243e4878e2fd2e9b8f494710ec
commit def122b64e37daa39774d4afa433ad42b8a5eaf3
commit c45c999cfb6716d40af9048ed0142e42a6235378
commit 246b228eb905c94663af435a1cd6cd31cc205ba0
commit fabc65d16337b6cee1cbbd1470bbb903f6daf3ea
commit cced63c3dd23e061f0fca754a3aeb35b62b0a628
commit 216c3c4424bb42bd6e4ea75cfe0c22aa7dceda6a
commit 8d7b2d3a7e3aa4fac309f9a496e6b237729d2b01
commit 6901f1d6479b6f81b537672cc16720b06b2ab3a5
commit c6bf82d426d8293d7257b9db368e025b1fd66454
commit 0fa0955acdb342bee3651bacfdce3d8927ab1025
commit 3019023ec9fb2bd7b0d2d82ce847ae2520f24c1b
commit 5cca41ac70e5877383ed925bd017884c37edf09b
commit 2eb58f22e2761b75e4f35847be03ddd425ae2b5e
commit 3543e84e20fbd60e02264f757c77c7dbdfd1ee4a
commit 034142a303fed2903957b06a7c91abdff5531bcf
commit 0df26c0d69dce1141218e0e5ed0ad378a0c6c058
commit 723388bc0fb68f2487795796f4e616ea39cee99c
commit 61671d85def2960bbf52db22e9e45b3bf8a5ceb5
commit f3392e662efdc095f10109f588aa4f3be86f7eb5
commit 50d10d9271f6c6542196c54275091c7b2c6edf97
commit 58d283801d06d4434df6625ed6e6b8d2ba47fe65
commit cd162ae9bc3ba91eb630a1321afd3d1dde5f2000
commit fbfb5f0342253d92c4e446588c428a9d90c3f610
commit 25dd25f86eca77b1ce4a611432f57b006fa91615
commit 8e4ed3cf1642df0c4456443d865cff61a9598aa8
commit 66d71a72539e173a9b00ca0b1852cbaa5f5bf1ad
commit 7c5b344537a143d15385992e41a50a9c5125e93c
commit f9e6759888866748f31b6b6c2142a481d587f51f
commit 7fb363c57522b704e156fc4c5fbcb7ee133fe304
commit 17e68f89132b9ee4b144358b49e5df404b314181
commit 0e4b858285e633ea6bc7335fd66529955d023af9
commit 076362d931d0d5ed01a3d1cd4d066f2e6e7f86f8
commit fcb3a4fb8255149a73afeb3d8f2397eaac3a46b0
commit 680caca6feee720d0a6cb00f892c0d2d46dc4075
commit d5022deb4a526009fdc20e4d62528b25b05112dc
commit 3f96f545f877ac59d0c967f52d760b4b2b3b9a47
commit 722e96c99f1d7532fdfbb557f50a399f6cc57d82
commit 58a8ee96f84d2c21abb85ad8c22d2bbdf59bd7a9
commit 739d0f3e1f36738d4cd84166784a8f7a58d69612
commit 9724b8494d3e85cb01c377f201bfaf25fd7d38ff
commit 093b79d034c59a3b66f6312863502378a422496d
commit 4981bd4749fa769b3d6acbc82fe8059c030d0920
commit df18a4de9e77ad92c472fd1eb0fb1255d52dd4cd
commit bd870cfd21489d28195fda157710ebd4cecaa8ca
commit cead9ac8b0992ae2659b637e86a0da7cfeb5e267
commit a15268787b79fd183dd526cc16bec9af4f4e49a1
commit 13d8850a3387635c051c5ed1c8a8b6c1e9bd1341
commit 608d886c978cd5f3d8650630568d96c231845227
commit aeb81b62c7fe4782198e9dd79c7d6cdf04d92586
commit c6bb3acf1cdeed5d01ebde70b769a8e25993965d
commit b5126ba85beadfa1f3cfdc9e7a8533ad444ca210
commit c3f15273721f2ee60d32fc7d4f2c233a1eff47a8
commit 6eb1fe53ee94cffd7187844d08d46ba8659d667a
commit 4067f4fa0423a89fb19a30b57231b384d77d2610
commit 31663521ede2edb622ee1b397ae3ac666d6351c5
commit c9bfc37f085aa180b3c49b9c95756b9ef032243e
commit 0c3f3a83c7e8dfaaae4ba8a5b69bd6bc13340d0b
commit 0e8655b4e852ef97655648b91ce780384a073ff4
commit a6ed988ecdffb2680a65f142acfe3271e6c04ab4
commit 6f4e43a2f771b737d991142ec4f6d4b7ff31fbb4
commit 7657d7c96657179d002817d5ec2a1d4c84f21cdb
commit e525473fd5b7202ae751316799ed759bfaaf02bc
commit 20c3a0241b5c15c0d64929cba04653d5556b7d5d
commit d93a4fec186c106115d0b3165047dd06f2c1aaab
commit 9eab82c38d0184289ffea56477daca8425758442
commit 6da8acfdb6e1aa72787efb733e3af9e9e0c57b9a
commit d51a75ac975a6147a4dea2d68cef4566f5c2ecaf
commit 1c408c516414fd9760c54f6d42ed1fa44a1dff15
commit dbcbfc72d3b660b6dd9ea7d2c089c228609714ec
commit e4ac526c440af8aa94d2bdfe6066339dd93b4db2
commit 250ac9ee60dbb14cdf422ab7f2bc28d671ac9f46
commit eb53e5b933b9ff315087305b3dc931af3067d19c
commit c91d75a3c6a2567e8c6b44f7337b6955596ffb86
commit cbacb1b74400299edea7e9bcd58bbc7c40dad8c1
commit 2281475168d2ab3fbd763c2fd762f99a411fa1b6
commit 2000ddac9b5ce5102ab1b194a1cf91e8af3017d5
commit 833cf12846aa19adf9b76bc79c40747726f3c0c1
commit f2881dfdaaa9ec873dbd383ef5512fc31e576cbb
commit 7f7a2da3bf8bc0e0f6c239af495b7050056e889c
commit 6f20fc09936e786a4ba18f5514fe185e0451ada9
commit 4c288f56030f380acb9572d88396ac15edfd30ed
commit a755947e050b8751fc5402609a7d600e9c756fa7
commit e9b36c5be2e7fdef2cc933c1dac50bd81881e9b8
commit dbaeef363ea54f4c18112874b77503c72ba60fec
commit 0cf09702a118b1c09b694862061913108565edd0
commit a64d5fe490cd92d74b1cf46da63164cefcc61a58
commit a3f91f405aa7c54d0856c1b8698e4ff05ae7d439
commit a4530e20faddcc4ef4e5939f186a8560c71a5e94
commit 634e1804242b0d5d64031199236fb3f337b5af3d
commit 96c468c366dacc0e41e08ac53e20a5025f6ba967
commit aa705f7ec6e2423af87c20b30f0e26eafdfd4513
commit 8f1fe39ded725483a67c15014a1863179c783b38
commit 9d1f218ddce20329a01c46d7a1ea4d88fdb0fe86
commit e40fbf616610e33aba9597f278925b4ae8cc806c
commit e44bc451aa4b08845c238028daafb4eaffb573a3
commit 5c7b393452b55ee0cdbced0d3bc798f6875b5c24
commit f1e6f89506e48b42235755fb3c2b73022697d8e5
commit 4da409ba6430e3b5c6da7879dbbdc5f6717d91b1
commit 6c9e14ee9f519ee605a3694fbfa4711284781d22
commit 688c43dd6ca9e0cd0568868aefca5b041695c3f4
commit bb99c51bdaa846bddb85a1e7acca3a3aa5e9f082
commit 3663e2c4bc45fcdc71931fcbfcbfbf9b71f55c83
commit d97e71e449373efbd2403f1d7a32d416599f32ac
commit c0e0bde2c7e6bca2a1f195d82ef7598d521399e5
commit 146458645e505f5eac498759bcd865cf7c0dfd9a
commit c3bc97d2f102ddd5a8341eeb2dbae2a3e98bb46a
commit 53369581dc0c68a5700ed51e1660f44c4b2bb524
commit 4f04d07c0a94b0b30db839e44f1b8364a1b508ac
commit b6b242d019ed23195c81cf00eb8290d386efb83f
commit 717b432b6d55e1dcefcb5e2ec315bf66b6ab8c54
commit 21e97d3ca814ea59d5ddb6a734125bd006b66a60
commit 2009e808bc3e0df6d4d83e2271bc25ae63a4ac05
commit a4172af3040cdc207f1b60efffcdd219156093c9
commit da1878b61c8d480c361ba6a39ce8a31c80b65826
commit a99aff2608f422da833cd91fa1eff23daa05c0bd
commit be1dec570b6f5a29ce9c99334c52bea94c28914b
commit 8d5309b7f67571bc0c95d430f4722a99d38f3b79
commit 843f10ce6539cd5e4989415e18cb809f4cff8b91
commit fceff12e52985e49c464f402e11b2f97bce3cc24
commit 3196763851b5fb9f7c8c488e233e947292cd71a6
commit 8466a14173e5ff7c2a52d8700a13f4b841d0e17c
commit ce9b1466f5a9a1b2acc80d29f12d69559fa97174
commit e60244554ca98e87ef731739f608eac54e478e9a
commit 2796b7ceec95bd5a7069cd27af7e4cf01a692db4
commit 1de99ff7371bc6ce2187081bf5bfbbb4a7de28d7
commit 34d0472ce1087fbf8e2ba504a4625e4c74286c63
commit 60a2066c50058086510c91f404eb582029650970
commit 97b6784753da06d9d40232328efc5c5367e53417
commit 54bf0af90844fbf18f5be3272eda69198dfdb622
commit 92653f2a572505adaf7f13f695c1907e71a1dc84
commit 7c5537cee9a8dff956e3b9a3f68c22af06a57558
commit 7b6cf6c750da7661a90c12642c3a8f141c7c2819
commit 68914b7c4dae0fd59ccb6b8bd8e2b6f5656cd25d
commit 0b8778af8babe55f133b9bfe3a5bf234a36ad7f8
commit 75830999587470b17a30d2ecad25ad13cb272c19
commit d7683c49638c83bcb6a817671bb348dc435da3b5
commit a0ac33cb9a12f1e499c9f009067a3135df626cd5
commit 16c9898ac5ab00fc96efee404a1b8bcfe20ad48b
commit 9a72570491b524c9dc4c1caa7323b2297c27b0b7
commit ca0fb243c3bb53dbbd71d16c76f319bf923ee3d4
commit 9330af0af3d54df71b6b752a260dadef05a4fc44
commit 29d0732f8f61ed028d642034e5323b8cdf6a1905
commit 85ecfdda063b6f148335c354c8b7200a49640510
commit 5d6a620875a04e70c51d8366eccae74d9cef0308
commit 6cc213b9aa34bc3213e20f9256345c5cc1495b0b
commit c7b3569b3ebc53e997500be09eb612b6c852525a
commit ab799c16c9d537fa2f070283f1ca63a4425502e9
commit 675d9ac9d0de765531e94f9fdc536989a997a324
commit 24ffa5bb6d363c8164be6af974e318f5752797e1
commit a00a177055cced5cd2bb057a1ace9a95a286bc49
commit 74bad61c5d83f5af8a855c8b7dc8e20377c74d46
commit d91f93c7a7fb9589e62814c1e229943e1259b48c
commit 946e2c5be80b2cf93be34e28b3a6bdadc8ca419b
commit 3e048c8846a658098d935df83050170c8a8fb104
commit 1cb62da0802c8f08e26443a5409edba99b8a1f6e
commit 8141f21b941710ecebe49220b69822cab3abd23d
commit 9710b84e2a6afde2db20cd33435038eb75b91200
commit 17277da26623d4aa8bdda628d0024cf2f2e39ae6
commit 836af5be1b6d8e93d736c252e711a20db7dbde9d
commit 4a4c815b08dc774dde67fb90a0286925f98204af
commit e89d2fec4cde967445e16e02e406481bac380cc4
commit ee0a469cf9175aeb6131c0476c4a4a8eb5997dfa
commit 67c4ca9f794951482c54a7006c8b3c367d6c3efc
commit b41a382932263b2951bc9e83a22168d579a94865
commit 847e387e00547b0cc728a5e61f5beb2ff861ed1d
commit 62eefd10ac1c7e976bda47ff311bd87cee40ab8d
commit 62ed6f0f198da04e884062264df308277628004f
commit dd340acd42c24a3f28dd22fae6bf38662334264c
commit 28574b08c70e56d34d6f6379326a860b96749051
commit f59902ffcc43ce7e1db5d0c4dfee37ec2a1bae0c
commit dfe9d047b162f3a79ab63046608c693ee14c5b7a
commit bb670c31e13a402d30afa3d484403196031d0fbd
commit dee44a7cb577f2aba39e1713a51e9faee2f65534
commit fd69ef05029f9beb7b031ef96e7a36970806a670
commit 62341f7bc2ccb7c024eb023a05714d798ba6437d
commit 0964fbd59e7131c1bad4c8549ec13a27104f0b11
commit 0345c8bc22c92f3d5fc0287957a96fd214297aa4
commit e9180253e22596991db426ab5b01111c2a739db4
commit 4f842ba7cdd83cba1d5c0bbd15ed9d14d882cf89
commit e1dbe625d6ac2821eb29e087db46cb539d8079f0
commit 507293b1b207e419fc7ea4ff1d72c2f1db18e33c
commit 64a905203fd0da3e8a3f649593cc48c9fbab25d0
commit 792be2e23ac69821db7860ba4ba94592101f0b07
commit eaf3adb8faab611ba57594fa915893fc93a7788c
commit c9875d0a789060facc274dee0d4eb6500d471772
commit 671af06690e7f79db51b475a35c3b2619f345abc
commit 434967aadbbbe3ad9103cc29e9a327de20fdba01
commit 65f6e9f7e1319119096a6dc93e62894e4375b578
commit dd3e296289346109d41c6317124f51aee0269c25
commit b3a3c9a6b27b68310f1d4d486f47556808c7c855
commit 5aacf8917fde5bc2a640f3cd49130c0e2e85e726
commit 7b2363e06c0ff4b868e7d768d605a9e656ff61f3
commit 51d334d6a49629ea03a2dde562d46846eb7d07a0
commit b8dc6ca028d9a39196a3a066b9ef2d4a5eca475d
commit be64336307a6c3ee71fe1337c1b9f0495aa83c50
commit 78c508a1c162c90c48e12faa62bdab8b90e6f17c
commit 41cb5a5e8480fa41ee452ee60e620a4c1de3c323
commit 8151a6c13111b465dbabe07c19f572f7cbd16fef
commit 329ee7087bc9862977fb6e431b8b0ea5e7e261b0
commit 00f06855f6e68954f67616cd5560fca25c755eba
commit e80f8f491df873ea2e07c941c747831234814612
commit a0fcd3df4591043d447bb08919eed2ce68fbdb5b
commit 130376ab8300ef06231ebac4db147f06d601d53c
commit 86598c3819fdc70e59d28221bfa7bc36e9f5777e
commit 57b09a168ffe88a4c088e8f7ca5de2ffbb8fefa3
commit c0277b9d7c2ee9ee5dbc948548984f0fbb861301
commit 92549780e32718d64a6d08bbbb3c6fffecb541c7
commit ecabb5e6ce54711c28706fc794d77adb3ecd0605
commit 4eb0aab6e4434ada240286d934651dfdb2e08301
commit 9cc033e07d025dee1fac178c20ba96c56f8d9a91
commit dae5d79a3bcc3101e1e02a1c2999ca74d1efde05
commit b62ef7e4021f74bb12445987efd8109ccca289c4
commit e102b5ed6e283a144793cab8fcd95f61d0ddbadb
commit a225800f322a3d6cc8b8b6c7dc4d5281f2f5375b
commit 1da86618bdce301d23e89ecce92161f9d3b3c5e7
commit 0829b5bcdd3ba077c408e71e22ac2bfa85bf2c95
commit 17419a5c8c75e1f9de01b094f763ec1c6ad02979
commit cecab0bb737fb74813733f2472761fc3a93857b1
commit b7b930d104c38a545d862896759863d649be8252
commit 6600c55ba0d46c6f2f74eaa6ddfe2b66cb8df852
commit b635066c2e0fcf74428b0864c249c1dbcaa4b5bc
commit 94a438a7595bb5a7a2efb94de2dc818845254e4f
commit 372f244b01784b5ee233cdfd732b4c1929ddd71e
commit 91dae758bdb854367bf0811d97acb84e791764d9
commit 636cdf6fbddff4780ff4452a82afb099292b88b1
commit e422c0bfd9e47e399e86bcc483f49d8b54064fc2
commit f5510726608fa035bdd2f1fc167cf4a0f7bee22b
commit dc06efbb7934405461d95bba5b702849058424a4
commit 9d09cac47de5358ace64dddd14278fea002e68c3
commit 0f9ff361ad823b887cfb09dd78ecc8f25d32ecfa
commit 219b45d023ed0902b05c5902a4f31c2c38bcf68c
commit 5bdacb0907c1f531995b6ba47b832ac3a0182ae9
commit 4e996697a443a214887ef81b008c344d183b5659
commit a857add73e61277fb8f688234c9d383130313ea7
commit 89121e5d0857bbf41f1987c3c6019f4f318aec4c
commit 2eb20b96d7696dc354e1b38c511418b56291013c
commit 549dd786b61cd3db903f5d94d07fc5a89ccdbeb9
commit a86ee96ce819800a399e0260c5ffad793c9c6ac3
commit fc33077765e9104f84b49d9b9e0702a41d5269d6
commit 17d6abcbf6249b4ef22f41b255de2be2691ec32e
commit 885c31382509d13fd70f6a9c42637eb72056a6ce
commit d79fdaef2b55deea0df3fc6af4d4ac60e81a527c
commit 08b5a4798713f4331317272752b27b1c4f6a246d
commit 7d113cce5fe92c8bf0a2e2f19f71762a845e9d9e
commit cae39e60abb10ba1e8cc095b7d5567edc9005f03
commit 6d470f9b8cd3e88d097b332bab3e7231f2fb3dad
commit d27a14060f8501e556a65b346b2644be0d0a2de8
commit 969135862e731620b9e03bb0c21179ff1cccfd0e
commit 5d45c01dea6f9e0f2dbed3ffee02ac2e80579ad4
commit 0dc4fb69eb14320ea0fcd9657b7748eec201ccaa
commit f7303ab29d08a551975aecb4bc6851ac3445abf4
commit b7f317e62968979343a4677ffd5bd91dd3edc204
commit 769b081c18b916e362a2b623d7c28ce761c3165c
commit 9aec6f76a28cd669aa98403883edda3a7981fef0
commit 5c61f59824b5e46516ea5d0543ad7a8871567416
commit b9396b49879b6e3d9069586e39432b2203de0a7a
commit acc4e41ec41fa28ae9fbdb1a2750525a7a242743
commit 39fa14e5bdd037f50df0af408da7251e400b41fd
commit 21ff3a16e92e2fa4f906a61d148aca1423c58298
commit 1da91ea87aefe2c25b68c9f96947a9271ba6325d
commit db639278e6217173c21bf8bd52eff2e9a0d6919e
commit b8cdc47adf059f60a39555eeba1db92c503a5061
commit 50680d1698f4d4c9651822398805cb943b7c04aa
commit ec0796e6446352e9e4ecb1804bf470d1ca47c5f9
commit d408d6f8cbbb5ad92b383f33d091f027f5740aea
commit 844efaef48e846b5310b0e7af5e7578762eb7e8d
commit 34e087e8920e635c62e2ed6a758b0cd27f836d13
commit 237193e21b29d4aa0617ffeea3d6f49e72999708
commit c3c5b79b6ed1d7ae7356b51f7c17bd88197bf405
commit 7a26f18119d1daf910cca58f875582d50d0e4974
commit db1aeaf2a1374fb05d82a1f8fef5cbb059ce6a01
commit a0634663d09abcda84eae37e9817490628a034c9
commit 17674d6603eab37a4f7b1cf5ba345d5a1e275fb7
commit 8df39400d0db29f84a72c891d1f526e3b61a332a
commit 6c22aadbf6fd0240181eb4897308153c2aabec2a
commit b5757a5be2fac24f5c138e8ddb3b2c7be8ba1cb3
commit 446d0f4849b101bfc35c0d00835c3e3a4804616d
commit b7ecc44a1b0427d8c71fe2e2d46c4a8dd6e6f64d
commit c6c2e8b6a427d4fecc7c36cffccb908185afcab2
commit 0cee47cde41e22712c034ae961076067d4ac13a0
commit 7b3a4e1d559e892ea563f46f45c504a60c82d70f
commit 3834ce360067b4ee98fdef14571923500a0499a4
commit 9a12b1c7a0595736d398b24712dc1ce79072662e
commit 8641b817392bfb12fb1e71ebb68c31783297bfbd
commit 17d30ed33c8a9e7b866dd7c2ceb4a6858cfcaa81
commit 020620424b27bababf7f53d00692ab919c357a3f
commit c6dbab46324b1742b50dc2fb5c1fee2c28129439
commit c30fb344a2f7fb5d553e98577185d9f8147598e2
commit 45a2a4514320f9c835eccb661601357cb1fefd82
commit 947c0808693e267185c5471f87f83146e4300561
commit a46a7bef7d41ee7787c246f47a656fbafe02f122
commit 3df34334147e73b05480db6cf8353a405597d04a
commit c7d4355648ffa02a1551495b05c71ea6c884d29c
commit 2f93ec07ab54cae66155d0a09182843f358da178
commit 434b3554d6435dc4e19083a2214dee40a88e09e1
commit 311f2b587461f86e3c30e7ac28df38be4a862ac7
commit 0fe20258b4989b9112b5e9470df33a0939403fd4
commit 596a4ec72876f1061f0ef4be47076b093f03b4f9
commit 782cef7fc367542ccc851d93edbed166defdfc27
commit c20da89edb69f05ab78fe804899d50be2596b0f0
commit 95d9e0803e51d5a24276b7643b244c7477daf463
commit 4af0d8ebf74ccbb60d33fdd410891283dd6cb109
commit 680458d41aa46a009909482f58358205b5c4b438
commit 8c4f9e466169b3e411947347fef09382c14e5733
commit ce4f9f79ff8cfc78a064c533f0aab563a5613d81
commit 1b686053c06ffb9f4524b288110cf2a831ff7a25
commit 66e2d2d9a59f896def82a1c8684368be45cf4c06
commit 07f4f9c00ec545dfa6251a44a09d2c48a76e7ee5
commit 98df5a7732e3b78bf8824d2938a8865a45cfc113
commit bd15f805cdc503ac229a14f5fe21db12e6e7f84a
commit 9b7e697839c2745c10f63fe5fd54c9e328fa2e3b
commit 70f83e7706e57200edb8ffa36883b2f43d214142
commit a1fc9f584c4aaf8bc1ebfa459fc57a3f26a290d8
commit 3bb41f2e9134906e0814766c07dfbdd9de0bfaf5
commit 027347d17a16562f3be272833243b835c21aa2a5
commit cd9e9e0852d501f169aa3bb34e4b413d2eb48c37
commit cc2991203c9d4e23051dbe5bcb1fc700fea26992
commit 67ea53a4bd9d03a85eecd99875a2a794c886f788
commit 7a1eb66809390d06b744aa13123b925b64b54c4c
commit 24f483ba49c9acc1139a0b4cbfd1b122fbe1ed7f
commit 5b7813bc6218100d7bbc6d3a1b582bfd64034bf4
commit d6ed53712f583423db61fbb802606759e023bf7b
commit 12dbb3ed212fc7655fce421542a5add637f8af7a
commit 5ac2557d75f94777076885b5119d3b6755e6761d
commit 17b6527dcfb3249401e037734ed3fd0f4752572f
commit be280fddfd645ea0ce4c7a26692c3d1115447e32
commit 1fd2cf090096af8a25bf85564341cfc21cec659d
commit 8f9b23abbae5ffcd64856facd26a86b67195bc2f
commit 267c5876c977d5f2d5a89f377d74adf42b5c38a5
commit bbec7cea6fa4a0463d4766ed0e6bb347773d3949
commit ef6c2cb349c708676b7820c36a5beb75868ad544
commit 61cffacb3a1c590b15c0e9ff987de02d293e0dd8
commit 42b3a6f12aa56dcf789464d29fdf11f33bf0e793
commit aa02486fb18cecbaca0c4fd393d1a03f1d4c3f9a
commit 35c7152202e111968b10140383f49da9159d2704
commit f83cec3b3a7c968bbceb810b7acd1baf3fe8cd87
commit e69c2dd7534f3fcabf7bb801db2a7ac71e7e5da6
commit 9c081c11c62112f1c30ff2426f755279a43fa1a1
commit a85c3db6b3b088f63b5b8c4fd4352f56f0e4ce3d
commit 9e823f307074c0f82b5f6044943b0086e3079bed
commit b2dee0837a4be63e8d3e00550a9f057644f962c4
commit aa539da8aff07ab08def6490e8c9b441439e70ba
commit ea5d6db17a8e3635ad91e8c53faa1fdc9570fbbb
commit 98cae695a8ae0e4291b1fa7feef9b54fabefe885
commit f7fb9d677faf0460131bc2af15afd766d48a1f47
commit a7f670d5d8e77b092404ca8a35bb0f8f89ed3117
commit 6a28a072d90e4543b5e07a904e3a6afad0117e26
commit 1091796fb1d9d6888656f2416ad5c99cfc62a4bf
commit b232c4a63a176ed837e3c6bb4a3ac79a1ca5ef1d
commit 98aded657f506cd5d6d459d68ab4996d9dc0938c
commit 1d734a3e5d6bb266f52eaf2b1400c5d3f1875a54
commit 4b498d19610c6acd36a8ddf622afdefe4ab093fe
commit 5ddb0a8aa8e4754a8fb77e284e0d6f46c2350f88
commit b080a60731ad909eae4463684acc23d322e93579
commit 52e371914ed37f531a8d8c3b4cf1a1af2753eb6d
commit a884dde8d9b6a4a817cc39663db824e5602a8001
commit 1eda95cba9df35f1fb0fb4b89511beb6603c614e
commit fde7679a2b374c8c0932f5cc48438a312f3f442c
commit 29323882aa48fc9f273db5820babf32c979359a9
commit dfa5543193f303a7270ec7c725e656970faf7d57
commit 202b85da0a2fb6f034f0290af841e0f29352af9f
commit ab0d6ef864c5fa820e894ee1a07f861e63851664
commit f0ffa657e9f3913c7921cbd4d876343401f15f52
commit 4551d60299b5ddc2655b6b365a4b92634e14e04f
commit a98a1a3c448820dfb3974839e1ccedf80b6fcacd
commit dd925902634def895690426bf10e0a8b3e56f56d
commit c7085d08c7e53d9aef0cdd4b20798356f6f5d469
commit 23ab1cb6591dba7c97b65eb407cd71147bd878b8
commit b0ee81dac3205db1e01019629c83595e9433d96b
commit 8d3a2d3d766a823c7510cdc17e6ff7c042c63b61
commit 3396900aa273903639a1792afa4d23dc09bec291
commit a809b92ee0f84c3f655b16a8b4d04bc3665d954a
commit ddda6542c85304eff31fe433cc0fc2c0d03c8f3d
commit b3a901841ed1edd65b2f4cb9dd890ea1e2fc7551
commit f366d8804fc58f87b682bb02e8bf970b08e5df7d
commit 21d6376865219277ca91bf95f9e54494c1ea7ae1
commit 7f75eb222d5c8c4b166ff99a38c85a3de97e0647
commit 649ae0e0d55f6d432ea73298929560ecdfaabd05
commit 34aa0a87f83b5322bd8541cd9534179c90c580d6
commit cb2f92569a2b7809a0569b380b9a6f2afa368cb2
commit 9aec90f9e545fba64ca47c18c37c588fa0d71b22
commit 1b9e8095fa3ac29e3a00ba1326976b479fd809e0
commit c6cbfc18138a22cfbffb208be92b18a531233528
commit d0fc54a201d673013b031ebce32e5d8a7e3bfb70
commit 6276706f33cc38ec59ebf03b680240ff74740c8a
commit 7d085bb17e3cab501218a7a4604aff6c4a8b9585
commit fbc64aafc99baabe4d4e4d5a58d6113aad7909c7
commit f76506358078809461866086c5e224d949002016
commit 2e5d47fe7839298fa096970e184aac9bf82c3bd3
commit 5a891a0e69f134f53cc91b409f38e5ea1cafaf0a
commit db3461a7743817ad7c73553902231b096616813a
commit ed7171ff9fabc49ae6ed42fbd082a576473836fc
commit 437ad4534a15ccf538ddb440cb29d3f445251605
commit 8a0f58ec4728ec04c654645bf8ed4070821ebbf3
commit fc7c7498db3da52efe874029a9c2ccc0ad2646ee
commit f9e491c8633277d5398f384cf1fd1a477e04363f
commit 37ee1456239cc5680f672f37417e52db2349965b
commit 406792dc2a5c82e2f312e10c3c2c887de6ef80a4
commit 57a372f67688dc7aee23a2a00bcaf6188f592934
commit 15789fa0f0e29cf802f30d0e308da9c6b18c116a
commit fb0a5834a338329bc665c7ce2b89f3e376557565
commit 5fb4d2a77113d3ebaa5c9dcdbef8b7bdfdeeffb2
commit b5e1a3874fe3cde73a4b02870bf3e8fa43777c5c
commit fdbd69486b468e4963b4ef9f76901d3788252dd5
commit 5d0112f77793c0351faee6c723a6fb9191c12be6
commit 6f38589e170f7649bb4b5efbff6b681c31433440
commit 4c953e53cc34f8601b7b7c6286c65322452d35fe
commit 186020c16650d6f7a05774ef318ae9056aae4f21
commit 2e9bbdd7b7cb5f364a917e7c6eff2a2c36f11895
commit 4dc4422f11b041a9cb7a86f2f9bc310e48620fa2
commit 31ef969301e58daaaed1728690e16192b77b9028
commit c4f503551fd65e50e657219c9bfc2987c51805ca
commit 27ef61f9617478c432bc477d4eed8963deb89f24
commit a48f31fb78265d992c75d45bea215998367d4956
commit d082e5cde489caf7b29e966a9dbbc3fb43fb9164
commit 3ec2ad7c34c412bd9264cd1ff235d0812be90e82
commit 0f2c243dbfa008cec2dad03ea074156b6b176a03
commit 89ec85d16eb8110d88c273d1d34f1fe5a70ba8cc
commit 3fbaf475a5b8361ebee7da18964db809e37518b7
commit 20588d5afce3992ff4fc9b61085e3e1affbac620
commit 27a74c125d029d0606b81ef865bb68dd975ca2f7
commit ab10f7748789fa9247949b530d8ee7d56eafe9a3
commit 6d88c0f94ac07ffc9f08e459cca036f4af08617d
commit f685b38455b0c990a0f018a17b238d8ffb5acccc
commit 4af8071b654dbd9b8bd003ab8e49eb16b4cb9fcd
commit d479158f6502a3698b91829fa03bd3f2ea38efe7
commit b5be054c585110b2c5c1b180136800e8c41c7bb4
commit 76acba7b7f12517990f326fabfecb6f55e334233
commit 478efcb90b074f0fdd18e62b30ce09140bd69022
commit 5b7a59de4845460a313d93d4839258bfb982357c
commit d4f1fde734eb73767015272dd2e8af1440b30a9b
commit 32aada4d0a35ee613ffed23090bc23e1b40da419
commit f3c958ab857927e1ef2cc6806fcb0eb3f36c923a
commit 8962915044364bb7c36b3018f74371a798aee46d
commit 9d87dac3f9adbe30d545c577aab483dfce71143d
commit 46553db49cf7b7dce95879ee0725f7d95de3c184
commit dc57edda816df4fb43bfc2809675e91d15994195
commit 3a50a51d04d2ca5066949073274e70191104f8e5
commit 439c3b124e9ee704766040d5182ccdaeb4d45499
commit 837cc7f1bf2bbebb05781efb6bc1b10d5c2e9308
commit ef9f3b5fd9d2594766c60b1e12b0e72e4918512c
commit 2239aaa204f1c5002018a02903df7e45a0e0e503
commit b910cacb4e70066238feafaf3f2430ef2c8c3b12
commit 0eea81ee2e12900bd5276558434b675b52ab2d5d
commit bc62abe1b92db4e027a92a6799f2193bb93970ea
commit 1a2103d68547407a098c237d7cade79b4ad2b88f
commit 2dc3851ef7d9c5439ea8e9623fc36878f3b40649
commit f49280ffd254e718ee01ef515fe91854fdf005cf
commit aec773a1fb0253494b85b073f46a0ba1d798b726
commit ee7a846ea27bcbef5182d15923339a7bf182ec65
commit 96595204195d7e13736a84295e217316610d4cdb
commit 19cff16559a4f2d763faf4f8392bf86d3a21b93c
commit 0523374e303051c94457df9170f12a752d8b09cf
commit 852856e3b6f679c694dd5ec41e5a3c11aa46640b
commit f784750c670f7c5ac572590ddad77a89b4c997bf
commit 3dc6da76ae55d667fca2c9f9497e8ea1a27497b1
commit 7970cb36966c9b9183255dc097ae0446300eebcf
commit 53fdfa19e6a9220a14c0bb21273880774ea70dbd
commit 7f0d7bee2079fc899c8280e177b0c0feb8b9debe
commit 0d92cd8935a3fffbbfee0fd59cdc89ac5167b14a
commit 2750ff97ee385b85195c5579ee911a551fbb0dd9
commit 770bd1d341130ff38feda169177159cd78389cfc
commit d16ef1a18e39a5086a419d8b3c71adb30273881a
commit 226d92e49a7e7a7f5a3a37a34df7c319b72009fc
commit 4099cfda9dd856222d7cab6970a65896375616d5
commit 6b77dab5da721f2fa9d3c3611e1cbaead8030706
commit 7116c35aacedc38be6d15bd21b2fc936eed0008b
commit 492be2a070f023c66aaef6ebd664567fda28c2a6
commit cb8f81c1753187995b7a43e79c12959f14eb32d3
commit fe828fbd87786238b30f44cafd698d975d956c97
commit 737ad3776343f6fcffee9d0d849dcd6f6b25f05a
commit 11c742bb5a26d4adc873f6e6e2b69a59e1eae285
commit 8a879141dcd15d2db876ce3adf88b9b01650b7fa
commit 6841a26e2c6715dc52a1cdd888e958dd2a92a5bc
commit decbfaf06db05fa1f9b33149ebb3c145b44e878f
commit 23683061805be368c8d1c7e7ff52abc470cac275
commit b9d228a5b2ebcb1f1f63170f5b20bc2f9d276168
commit 00b8a47d8ebe0419e649dc81b96033f6db6a4746
commit a055c91ac6ea493c2508401537e8732dd2a7bbf8
commit 6a60273a0e8274820210abcfe7ec0d5f1f38f458
commit f7c4a15225faeffe1e9f9a752097e7d85603ffef
commit 91a759d402b5c17263f82097c647e784f217e2d4
commit 97d1f449c359207b2fb5bc62eaefb7e21ad619ae
commit 64ddf5123eff2edf47202e08744c3c14a9d28f59
commit e139c0eb22ce5b2ab6a2056c1ff495f3a38322d7
commit b61c4bc674c6032827f2682a0c72ff577c36143f
commit 1453323eac4f13817a07f40e78e76dfc635aab34
commit 7586fc52b14e0b8edd0d1f8a434e0de2078b7b2b
commit 3338e4f90c143cf32f77d64f464cb7f2c2d24700
commit df2dbc925fad3274b952b865f85d26d1e056c1cc
commit 60db6f540af9f93144d5039140aa2ed17171d168
commit 051c86afc342aed1f84d66ff5d09dc9e1c1685a1
commit 04b5b362bc2a36f1dfe5cad52c83b1ea9d25b87c
commit dba1a6cfc311833e10df978f07147ea93b7045fa
commit e189be9b2e3820c88164d95090f1fd6343cd77fc
commit d361ad5d2fc0e4d59d5d538092c9b37889756642
commit 22ff907d4f0457b2800f4c6d4f40d4d4d31f7de1
commit c2e70d307f4491ff970208a41cce84c95771f340
commit d4c38154951b2bff6bfa4d5eb56df0bd08703cf9
commit 335288315af18c0def7f47a37fe7eaa782c98f6d
commit b1f49ff9cbe14264c7eb33462fb700c49c7d91a8
commit 234eebe16138f94de3046f60c52763dc17fe5fed
commit afefd6f245024684fff75100052065d6a9e8f75f
commit b710dbe55dee946d82bc4815c40373cf8a391581
commit f846250b8a20e6c1225c64ce87a90d4f29cbf351
commit 87758a0ef12cfebb9fab8ef1d0e234dd7b3f4579
commit ccf8ef6b7506cc43e7fd504a85465c1c0786a107
commit 9a16042f02cd08bbd0a5a2d8e9c95347717165a3
commit eb067d65c33eecd4b81771384183ad42eec259bf
commit 18ac82c26da45d033df7eb993139da83dd53ee68
commit 9de60462cdba60f575f97ca2655533b35273c715
commit 8783a18409b48455b3a63f0cd930c7c88beee93d
commit 7c9cb6d1bf122fdac6a7d51f7dd8cc2d8c94b452
commit 4e9e50b6aeda3e3ce727453c5455cf08c68dac8b
commit 272e6aab14bbf98d7a06b2b1cd6308a02d4a10a1
commit f327189389785b26e49904a7d3ba0c96506a4586
commit ec9e2e7acc6dabb8f00c2c60785931310caaa883
commit 2344413205521775d3b1d418e5659e3ae3bc263f
commit 20b5a8f9f4670a8503aa9fa95ca632e77c6bf55d
commit d07722e1fc749fbd78992650b6d00c9a2619be70
commit e389eefe34cebc6219dbe76a923b342b2f31e3ba
commit bf2bc61638033d118c9ef4ab1204295ba6694401
commit 186fb12e7a7b038c2710ceb2fb74068f1b5d55a4
commit 88c511dea151b931ba4873119b1b3555aac0ce53
commit a9556637a23311dea96f27fa3c3e5bfba0b38ae4
commit f15e5587448989a55cf8b4feaad0df72ca3aa6a0
commit a8efd8ce280996fe29f2564f705e96e18da3fa62
commit 609d8b1c422cd8d1f93bf526fb236f2e07687e7c
commit 255fc1703e42321b5afdedc8259ad03c7cc533ec
commit 32a42c93b74c8ca6d0915ea3eba21bceff53042f
commit 77cc3f6c58b1b28cee73904946c46a1415187d04
commit 4cce34b3835b6f7dc52ee2da95c96b6364bb72e5
commit 5151fa35ae5979821d091b80096b4c790b187bac
commit fca0abb23447c37a6bdbc76798c24623a9b69a11
commit 40520283e0fd11237ed9dfc0991503b3403d5fa4
commit 321d6b4b9cbe3dd0bc99937d5e5b4d730b5b5798
commit f6d9f39f8d9167627bc0f9e3e12ee0100c1c1919
commit 80431c017f745a818ea45ae6a8373b737f73b1a8
commit f89001ea41771fe94005920c363dee43e8078bec
commit 0e35457eb4b75f2bc9eca58a46d12e200e15e47f
commit 770a961d581c577b579d8d38414b2bfc0b4766c2
commit bbad0090b9f4735e35e9881278b7a353f71b43d0
commit 9e7a74a12101bb07ccc22fb180c5e44051c5a407
commit 44a37ba12857c78389cda176c093967406250cfe
commit d20c2f8464280550aeabd2766728590cf0ca8a4d
commit 2a2391f857cdc5cf16f8df030944cef8d3d2bc30
commit 5e9c0d1c5ea355679f5b2a57b0c1b5932d78719d
commit 11df68c265460d4dff5d19a1313f0fff69470f98
commit 453afb1a439994deeacb8d9ecbb48c1f2348ea0a
commit fa509a33e34849cce6c17f969991dc87a864fbde
commit 7bb98ca6542e19a9da7cc322114bb4867acd9614
commit 85878978fcd2812eaca309ead436bcd38777f6f7
commit c8fc8346bdd097d624771e606aef93644c072ef2
commit 5a48d67ac336436ed4a79c1c9e036a409b502329
commit 4446387572fb7952a387b8e45e8a96b4f08a2a53
commit dfc88eac97e2177844e5dfa877f2ff60c73bf507
commit e0446e122eae43c173d0c99375e1b2cc8da009a7
commit 168448111279e639e3296ee5c19e0cd96756422e
commit 69f0925c67c21c1e3ccda152d2b6ce21c363e563
commit 244fe1666364865154930f34d8df5489df1922b6
commit df99acc7ba1be9f111debdb75e00539fed8ad21a
commit 6dbd43dcedf3b58a18eb3518e5c19e38a97aa68a
commit 6062ea9398d3ec09c521774f9d81f604d1a85fbd
commit 0567f18e0757a260031e59487fe01f402c16c0de
commit 8b5ccc9743ab026b12075eb5e3883cc9e42bc683
commit 1144e0dff5e68907cb8d3e2d64d1c00e2a96d1b2
commit 136367290ea5d7b5d05696189e9fd6162b9d9742
commit 15ca09499bc669b600dcdaf01fc0bf8c55e15b35
commit 34e804220f693fe6bb1c4e50f27dd855e9313f0c
commit 919bb54e989c1edef87e9797be125c94c450fc65
commit dd6ded6e87a97a32e06c10b7f6639eebb779257d
commit 58cfea648ff3b3bd283c03f094f24d379fe6fa82
commit aa451ae76fda24f919174a17df31c290f91a953c
commit 852791985af63bcfd66d7f6ec160cc5f9fcb020a
commit ab0b0eb5c85c5961913bdb9b8011cc8f5c14978a
commit 065ca63e161a1ed7e619ef7dea0c7c6435ee2f8d
commit 1c8f80c2aadf76daff01ab133fb11136e7248746
commit 6133cf70725049344a679f85df27d146a2d995ea
commit 4b570ac2eb54f66ff64f2864be6303b8d67cc7f9
commit db6341a9168d2a24ded526277eeab29724d76e9d
commit e28604d8337eac97fa956d6682b6312741ce85a1
commit 01bfabc2d1d8aaffe5268f8df0843a6d916dcbaa
commit 75f0efbc4b3b088cca20864d055b3854a51b5af0
commit 8f4eca6ac52a72181b4f054d4ef6289a5d8cfa5d
commit b05d6476ae2dde8eb447f907ab689083499edeaa
commit 40318a2406bd426c6f4591269669c04e8eda571d
commit 988bfa0bc67d7220ff8d9e2ba3a425727aa98af3
commit 0e405395e0b162075001b9c027443dd10b723a03
commit 570867ef90550b01f0ca0f919dba308c3f2fb605
commit 2845f512232de9e436b9e3b5529e906e62414013
commit 4416377ae1fdc41a90b665943152ccd7ff61d3c5
commit 73dd0ad9e5dad53766ea3e631303430116f834b3
commit 875ff9a7ee8824200885384effa7743892a34ed6
commit 010cc730ace807c6d267481b5fb6ff99acc35c46
commit 6ef29715ac06fad7b3e43086cb4df97952c3a4de
commit 3376f922bfe070eff762164b3fc66981e3079417
commit cb5164ac43d0fc37ac6b45cabbc4d244068289ef
commit 537ef0f8889761ffe3a6cb4a7bda4de47fe2d69b
commit e45b6716de4bf06b628a9f3559f7fc8dd5e94d58
commit 58a261bfc96763a851cb48b203ed57da37e157b8
commit 25ebe10e3f4c897a2d348a9d4b674ee9ea28225c
commit 5b993d00d7f0c970a5e5d34c1031069fb13b6986
commit b5de6a5ced074910b8fe57d3b0ab7f8843f85a3a
commit a323782567812ee925e9b7926445532c7afe331b
commit 6eb2aad402cc94ab4dd3780d8fd94c5c9bb7ed4a
commit 501d94389310bb282915e730386d1150b13ae321
commit a64e7e5b05e014dad9ae5858c9644d61400ec6ef
commit 122824165471ea492d8b07d15384345940aababb
commit 66a0f6b9f5fc205272035b6ffa4830be51e3f787
commit 6628851159c77cf5666160e0272d46acc0772a6c
commit 3126d5fff54368288e7fe1c0fd4ecb36b868e5aa
commit a4dbe45c4c14edc316ae94b9af86a28f8c5d8123
commit ff9c674d1127e768050fe418470e74586985c87b
commit e24b0ef20a20cd26a770c66bf87d911838ea00d4
commit 65112db0c21022cb1caed5a03c6392eaaf984c14
commit 4836c6cc01a16f1ac2b436550299474ad7183c46
commit 6729c73103bd7a0e60b0c980b51b5434010b4502
commit 1b5dfd1881dbe303536d4167500b94549ff2f6a7
commit b330f148017251810fc1f0c297f51b3039b796e0
commit 594cf78dc36f31c0c7e0de4567e644f406d46bae
commit 51394119f640423858a2f04076d6f1c3e83fa715
commit 67733d7a71503fd3e32eeada371f8aa2516c5c95
commit cf4d37b8157ca085c17fdc1faad737465ff311b9
commit 22bc22ccf95bfa6eb6288ba4bc33d7fc0078381e
commit 5fbca8b48b3050ae7fb611a8b09af60012ed6de1
commit 45c4d994b82b08f0ce5eb50f8da29379c92a391e
commit 071d583e01c88272f6ff216d4f867f8f35e94d7d
commit 037f93434ce9aea3dc19ba2d97e888a12e538f7b
commit 54f90b03335916e21c417a31d0926841f7d97c56
commit 9c57bc08652a7c8e0e355c52c023fddc090fe9bb
commit 002353a537a29b9be5bde3c1d9964628f0d20d45
commit 11b7309dbe9fa98d9b8d18cd51db4f385c37ae30
commit 19f01d4bbe9daf71901b200ab5c52591946b022a
commit 8a04e342684a75ad1455fc3f23fab8e67c1aa9fc
commit f9ae00b1cfb37ccf57017bf9cd82712ee0a5316b
commit 3f53d7e442197b7e7d56b470b02dfd37a8bc5c46
commit 4461e9e5c374f8c11fee8e4a0e3290b072cfd538
commit e55ef65510a401862b902dc979441ea10ae25c61
commit 01cc7b2e8a59fcae0c4493720561e5b33a195fe7
commit 014125c64d09e58e90dde49fbb57d802a13e2559
commit 04cf420bbc32a599aa2481725f708435ea19bf3d
commit bbb05f8a9cd87f5046d05a0c596fddfb714ee457
commit b932d5ad9257f262a0bfd1bd7146120b0adc11a7
commit b86a6a57b8ad1699ba8b1c270a79678383baf632
commit a08d75927f99e57c793f3a5d11260c22893fc0e9
commit 3d054c40766024d9d8fb051d017ceacf2b795f1c
commit 5d666496c24129edeb2bcb500498b87cc64e7f07
commit f0b7dcf25834afd17df316367dfe5d4c890c713c
commit 949237a34dba3f0218857f5afa0dde2076dd8c82
commit 6dcc304f85898b099b35c63748c5e11ba56d0c8a
commit 87d23164d89c3898a0acb4ec0b431e787c27a91e
commit 6692982582a54e7ecc80d7b0dae5db6cd47e2567
commit e565b6b0b5eee112db803bd955fb0387ce952d54
commit 4437936c6b696b98f3fe1d8679a2788c41b4df77
commit 9793a4a6e5eb8764c7410c361984ed01722bab9f
commit 6efc0ab3b05de0d7bab8ec0597214e4788251071
commit b4148dc2fa062cdb94b5165d39827bcb1a3daa28
commit 1b0ce903fe747d72e9eab86a06c79fb2c7ba2bab
commit 469a486541b6eb0d695a5558e68851fef35c16f7
commit 38d6f7e27d318cf41c2376980a105d02ac6e8b16
commit 3715112c1b35036039e8c4f75868a0b56a71a51d
commit ff95eabe57368d641589441e8f638b4d59f79a82
commit e45a3933bb3ebd9a2ac95b6b60da029ee3a9f4e7
commit c50fe289ed7207f71df3b5f1720512a9620e84fb
commit 97c6efb3649724e6163774f0e7405c5ca8b1097a
commit c66f4711f79c937832b6c0e0b1805061667d99ea
commit 727eb1e3f014e66dcdec53afc6f5bfe0d8c0871d
commit 7546a8201ba288530ed1bbf2a8bdcce5e034a234
commit 789e51597d33ec0053b029127d797d86c0d857eb
commit 379cad69bdfe522e840ed5f5c01ac8769006d53e
commit aec8485f226c36eb4eea1d489772cd6f2c40144d
commit bad928d2cae5d4d5ec1474ae7428a797fb34c111
commit c72084163cd22ebf59d936669ec25b1fc2b7494c
commit 3adcf970dc7ec0469ec3116a5a8be9161d17a335
commit aeb4ae66cb50faddf60be9297d0d5d392aacdd3e
commit a7f657097e96d8fa745c74bb1a239ebd5a8c971c
commit 87d8ecf015444c51ea9d9154f633f98b7748a724
commit 33929707b808ba7839c40c15d3e68cbc51070b31
commit 4548f10bf4c67b569b7c9fbc6746340a558faab9
commit b71ccff68ef1a5bd1c02d0fca01ddb3d9088329a
commit 175d648be98bae22eb22444377dd9a0c497c9d46
commit e0cb0c785250d0565c19ba17fc95bd7ab97670ba
commit 076403a69837c1f8454ceced3ed6f0465835f4d1
commit bfbdf72d6c145e008805f0745ff79f9b8e301e0e
commit 33eca84db6e31091cef63584158ab64704f78462
commit 84addde447fd9d713e101437db0d4924855eff4f
commit 81a1c37c8b52eff636e77a794d0f0620c3a40af0
commit 21bb04152a18ac2314ef4186b6dcd46f1b847354
commit 70a65a5de23337c0c0251c482520224ac80bdeb5
commit eb4556f25fb4cb3a005a93dcc6dcc4b0c024f5f7
commit a69dcaf9310ab09ed97711e0fee08e59218ed8a6
commit 8d5ac8efb6d94efda53f604fd9c072b4754a3d85
commit 2039809783d630c1022bb3debe648abced7861c4
commit 06358ccecd75bfcd988f347f79592e23159aaaa2
commit 51e039542b87cb649d50ea3b5cf90847be32a30b
commit 44378f6ef2efee3ccfa87de5860662f2356bdde8
commit 07226d09a200b92797afabd3a5131a0b504344c1
commit b5d4657e192ba7a3f21fc397cf5d169982b4ec0c
commit b2fcb48214980adf6687dda84fa33f01e9a47e28
commit a74549dd55d21612171334fb70e45241d0ce0487
commit 2160f6f6e3cf6893a83357c3b82ff8589bdc0f08
commit 7293859c51e1d7f923073aa46e2072333b3e143d
commit f7c2ea682d8ba17bfd37abd1e734348e0cf46c99
commit 5ee2d63ca1201ed23c6595cb2fc927222215bce3
commit 7745a1dee0a687044888179e6e7fcd6d704992a9
commit a9b67c036c7f5d187fb88eb74fe04dff1098700f
commit 7c1a2d8aba6cadde0cc542b2d805edc0be667e79
commit 6122f5c72e38a88eda13c7168e2ebbd3bd80b681
commit c67db6a6a6be4bb1db1b0fd5b24040d68e461cb1
commit af76ca8e180f38a7d874c18cf810707762766627
commit 30e8f4c2bd532c44af0e0fad9c04e7d2970b91a6
commit 28d43d0895896f84c038d906d244e0a95eb243ec
commit 1e487c9173ca12ae372f71a5f5c0eb57ce0ab108
commit 1125f95cd2455b51ad1c16d7f96ae39117083d20
commit 96316211eb5c4b58f34099e9e6f71fdfad7af01a
commit 52491d97aadcde543986d596ed55f70bf2142851
commit 6c0a7c3c693ac84f8b50269a9088af8f37446863
commit 02a416afbe127b1c9ce85ffa340c0a32dbc53184
commit 70c33a2710cd08a4be974a1c7f9cdb5601a8806f
commit 4f7d8da5e349c1126cdfcdd2ceede00382ad2ceb
commit 8bdb468dd7a5d17f8556afdd4c8d046939ff965f
commit 6d0ebb3904853d18eeec7af5e8b4ca351b6f9025
commit 641bb4394f405cba498b100b44541ffc0aed5be1
commit 16ba2b28df3a83443fc6b4e5491189d2e5caca64
commit 65fe9617a1256f0a36696d48f7c63a8d3ec290bc
commit d69300abc2dec930fd280a013984150ae7c6a386
commit 2bd87f0fc24ae29ead9808d341497f465b339c0a
commit c5f728de696caa35481fd84202dfbc9fecc18e0b
commit cad08fa7760ace5e01b24c6f9e1f918fe72324bf
commit 3034cc8107b8d0c7d1b56584394e215dab57f8a3
commit 20f61c1ead989e5d16f35bd0a546c6233b703b69
commit d7eafed3223af19add14b67a390ec2b983d890e0
commit 2bb3fc536d692d43cd55396ecff73c7691eeae85
commit ddc94d0b17e8ea8179ecbbefacac3fba0fb77265
commit bf758226c7e6927f1c2c34fd6eb2cb580b77f543
commit 590b9d576caec6b4c46bba49ed36223a399c3fc5
commit ccbfd2df3018e2694f750abe5e93b647a4eef5b1
commit 83e5af5997554115e198c2e9e97564702eac04a6
commit 6a2161a155f92985b21e38a9e8b9217f620d606f
commit 14ee9fa87d8c96b23d77397b684fb431c5bc2677
commit 3eac4684ecb5ea696bd283bd7f35e4829973f4f8
commit b1aa0491fad27f030c94ed42c873c3f46f5e7364
commit 8906064715c16571e691f67c2746ed1bf1bda6b9
commit 390fa93e6efef330baa2785edc2a484f7ce0b292
commit ad17b124c3a08241da36eb94a6f076446432743b
commit 6f4835f9df2df7eee0af74c850d0a06166c199eb
commit c66db9e9a025006d729c87143c3f43b5873b4a1f
commit 988fe2862635c1b1b40e41c85c24db44ab337c13
commit 0ba3cb8e7cf08223a9246ded3c1bee25a74d1f7f
commit b3e9bfd86658b562a33b1ee8563d59a593327aaf
commit c24538c4aa352b68bd5c429b7fd3ccf4d4407143
commit 8a060e9c17d0fd7a182e335a52dcb5fe327e3d86
commit 6e8410944767381524544390ce030c86f07399da
commit efaf15752d113e81a5e9f25f57dc203f7c3007ab
commit fc5da5c00c0a4880220f6f539293e49c766fb93d
commit 29d3d6af43135de7bec677f334292ca8dab53d67
commit 9888773753333ee7bed1697abd6fd9c84239cc4a
commit f2ea269bd2a55c4a28a9b825424b059a20259793
commit 072b4414784524b6debda1b3b2ffbf10d66095e9
commit 7d8e9e65f23040b2f9e9670bc971d3ec8fa69d47
commit a10c93931b61b22ff6601f74192151d548b0b14b
commit 1741281a157fcfacf46dbb6ce39c13bf2699d371
commit 2f3806f781421ce6dfa60471eb2116627c0eb893
commit 097af47d3cfb99ee02afbdd7e0d9596eb012c65a
commit d1f214432110748603dd310fbe6099df875e6f04
commit 2480599890296b386839bc53367c10f19d97716d
commit 8fe4fde381a103114903f823c6d18457b4b891e4
commit 8b2429a13feaee01d62bc248417343586f6fa489
commit 01b4ae38e5dc6798c6cd477be9c363c5ae45fa7f
commit 178ad0e280c088f5abfa61793cb992fa120d1830
commit 4d5ddfa4b1b2bf1e936b8d38735910480f9545ed
commit 01163079e136e6d6ce4474b964b8a7ec954cac81
commit 1a1995b1dc948d471854360ec0fd3306f54dfbae
commit bcee4c3f89879e15ef57f3217ded97f00b1334d3
commit 01d05521f7e2523045d3ff7b857dd68db276d31d
commit f8eee864ba5cbe1447a68949883f69228e53b138
commit 21818f39beda2e843199e5d8d9e3f9e43c8080a3
commit 3f2d35c325534c1b7ac5072173f0dc7ca969dec2
commit ead60e9c4e29c8574cae1be4fe3af1d9a978fb0f
commit a1498ab229ca16dfc35331dfb309f8e28b84bb5d
commit da6ec743397702e0b551bcacfeaa48829d303a29
commit b3b91369908ac63be6f64905448b8ba5cd151875
commit fcba2ed66b39252210f4e739722ebcc5398c2197
commit 9f6b47907e2d01bfa90c3003e42b6dfeefd8d03a
commit 059f6fc89968f4f4527f1b706de8017d368ad9dd
commit 1138137c2c48f036b87e80cf3905c1acbff6b0de
commit b34b43f9cb45ac15b0e48b5570af9e074959dc68
commit a954e0a26146c465934f4944d49cc03324747917
commit f70e43763e6a550f5b50ba4f6a0d6aef5121ecba
commit 402bd11a5394636b2bc9712a58b97bc3cbca69df
commit 631ef2e6adb0aec8d639dbea17c5ed08c8364df7
commit 8a37cd4dc50e8f29168dd5bc766ba40a1968724a
commit 41a46296214fa07cf5140c9ac9254e095bdcb960
commit 7134cc23fe73f4ddeeaaab9284399cebfd826c51
commit 963ed4efe0c6416f5a2f61e107ee3a27f0bb757d
commit bc947d9a8c3ebd207e52c0e35cfc88f3e1abe54f
commit 8da19441d0a02b53e362df81843bb20db3a8006a
commit 34bb7b813ab398106f700b0a6b218509bb0b904c
commit 7a199557643e993d4e7357860624b8aa5d8f4340
commit 596a7f1084e49cc65072c458c348861e9b9ceab9
commit eb7205b7cbff5f9ddafedf82b62590aae0a72dc0
commit 4da5a95bf125fd682249f60e296455c6413b4e10
commit 4453808d9eab0461dea338e89372ffc4a3c50acc
commit 4c4e9cb58dd75c87300ca63307ef7d4f9656eda0
commit 7b17e8f3a074ff4558527f6c595f49444a2c6fa0
commit 0126c0ae11e8b52ecfde9d1b174ee2f32d6c3a5d
commit 2c7795e245d993bcba2f716a8c93a5891ef910c9
commit 6fbbb660b1d423a777d7567b7475a6a01aa7fd91
commit 760e3c8b3288279841aa8a71e6d65c67a3934d01
commit a3cc326a43bdc48fbdf53443e1027a03e309b643
commit 0607a50c004798a96e62c089a4c34c220179dcb5
commit 4481df364d2038eb4a8f5150367b47955940f027
commit 5359d5bc975466e8791d7f870ea4a96f1b0973bf
commit f5a972dfe3e993f09cf12bd36389a942ecd23350
commit 2578487ebe6ca34fe9cd950bf68e8158639ddb1b
commit 559a285816af5b72284a6ed65eb82a68ee497d60
commit e146a7ab218626827b7c06e189e69cd2abcd1d37
commit e8397d327e7b0d6132197c9d8fd7977f84f3dbd9
commit 01be2b62c0f3c66832472ed3e48e61d631094606
commit 101025e94b537e8b5426c73a985b26fc95c199cb
commit 7eafe7a730bad6f0efb62b2d260f1ae3f2d09b95
commit 663b0f1e141dc60ce6c09ae6afc5f213b22d13ca
commit 27f9dcb9cc067d40077e116ac062e185ccd7a0d8
commit 7ccde2e6c0a5e50e11b74353b456bfe602efe6aa
commit 0df8ef6e1b5dc7a6edc6242a95f47a257ffecff0
commit af04e65f6b66339080fba0d5f44a759647371652
commit bd7c8ff9fef4b21a97f9b30a7364845ee6eaaf23
commit 2ef8d63da81d9e89cbc1eb4867d638f88bf5dc78
commit 2f7eedca6cecbfad52d5b52c1550066d9252c947
commit 578aab4ecc73476393389440724b7a391cc0cea9
commit aa47fe8d3595365a935921a90d00bc33ee374728
commit 25d48f2eb0af1f0e6f09f54a1a1716f48c0722c9
commit fedf6db3ea9dc5eda0b78cfbbb8f7a88b97e5b24
commit 88dcad2d07c8d82e6a097c8e74239eb67333bcf7
commit b8faa981a7e62848ca4ba1c77282dfdc71d0edf5
commit b2d4da31a1f40b05a61076efd4c79b88439003b7
commit 6c6ca71bc1653d00623702ae031d0f9bde06a6fc
commit a4500b82bc85f7a15cff0729315c96015849e9e8
commit 4c3140fea6277e1478ba206e8f45b9cf7a128cb9
commit 32bd3eb5fbab954e68adba8c0b6a43cf03605c93
commit 741d73f587d5cc86db5e65cc107e031263302616
commit b615b9c36cae0468491547206406a909a9a37f26
commit f7e3885aa80559d5e497eec18e6909d594497c13
commit 0289507609dcb7690e45e79fbcc3680d9298ec77
commit 0c8c5bdd7eaf291b6f727e98506fb68acee3a4cc
commit 70a6587dca37a3cf12ab323f7fd73266abfc274f
commit 83dcf232cc7919725a331359a300fb3929651b6e
commit ad92f52312614b0ef6eee07ee64f1e7661072a49
commit 457ca96d04f599d2f95bd61144851f2181ccacc4
commit 2efba0c095419f93f8913f1cbae8bf3fb030db20
commit 70b4ab5489da0fe5b699a8466aa4f73ea304ae65
commit da9a73b7b25eab574cb9c984fcce0b5e240bdd2c
commit f1a4dceeb2bd4b4478e4f0c77dac55569d153fb3
commit bf05aeac230e390a5aee4bd3dc978b0c4d7e745f
commit d92b90f9a54d9300a6e883258e79f36dab53bfae
commit 9498f2e24ee0133d486667c9fa4c27ecdaadc272
commit fcd33d434d31a210bc9f209b5bfd92f3b91a2dda
commit ec2231b8dd2dc515912ff7816c420153b4a95e92
commit 8f72c31f45a575d156cfe964099b4cfcc02e03eb
commit 2775df6e5e324be9dc375f7db2c8d3042df72bbf
commit 26df39de93bb8763bb3088db6c76eb98d4cd7213
commit ae2c6d8b3b88c176dff92028941a4023f1b4cb91
commit 9ea925c806dbb8fee6797f59148daaf7f648832e
commit 21d1d72475809734a5149ecfffdc7551503b042b
commit 52755373ea6197dac40b9804ce967611b5e989bf
commit 0da531c82a0fcac65407d28ecdb2a1e19c833df5
commit c389a0604cfbcdb1f8f53a76560eb31e0700e206
commit 28b0ef922738b74335c20b8ed4bf8e259353a3a3
commit 2f27fce67173bbb05d5a0ee03dae5c021202c912
commit 7ab9ebc580617831355843f19224f1e31bb8e983
commit ee06c09ded3c2f722be4e240ed06287e23596bda
commit 99b1f7493bfa757b03d41ee6d7f7d00f81fcba5d
commit 69bbe3adf36de47315498c9384f99a1ff9171694
commit 73d10c7788f6d2b7badf9973afbdea7ca433c15d
commit ddc73c465628ab3e60f7eb5b4063b644c18b6336
commit 9460f4bd5970f2e46fe190a0cb9814697bd7f21a
commit 6c10ba06bb1b48acce6d4d9c1e33beb9954f1788
commit bfc00a7754c40544c7446d3b664049d6e00ee0bd
commit 902b4027216aeaabe1562e1db070550c06f3ec89
commit 0110ac11952f06419d267f51a3989e989b17e67a
commit c400ec6990fb04a2ec9929b253dafa7e77c7f555
commit c77a46bebe99e70600e636a3a1f285637c479f46
commit 2ed186df27f078eb75c52d09e04aa7b0f9920f57
commit 3c75518cf27aa5a7e22e1f8f33339ded3779079b
commit 03b5038c0ad069380fab7e251d2bf3f1540d20f4
commit 797fb1533315571ff9e55e80154f48cd47f3dbe5
commit c1de938fb7e5edc4c71d33f73e9fc5c77feb02a0
commit 7181faaa4703705939580abffaf9cb5d6b50dbb7
commit 151b1813919d4ab932e69ca4032761ee0789b04c
commit 2ae6cd583c4c86c2b7e879b07effb8ffb10756bc
commit 2778701b165eda674756537054d460fb4b0cf2e2
commit c03fca619fc687338a3b6511fdbed94096abdf79
commit c2ed7002c0614c5eab6c8f62a7a76be5df5805cf
commit f588da30a20cf184f150420e4098b694908a4207
commit d18a56b247f4f3f7dbdd3adeeebd05c23f1e3d3e
commit 5a3d3e11349c2e298c0b6b4d37c8241f44d37e3d
commit f57b77d667dc6bd2b114d08d04b03869539209f6
commit 0765b2afc1118a6ab5fee624e206c782d70db28a
commit 09cb922c4e14e6531979bff4e6bb3babcd9cb188
commit 401c90c4d64f2227fc2f4c02d2ad23296bf5ca6f
commit 3766a840e093d30e1a2522f650d8a6ac892a8719
commit ae5100805f98641ea4112241e350485c97936bbe
commit cf4cebcec619d963fa7496018f03cb0ff00dc257
commit e79563bf5fb17d1a199c7c0f7d5a7a98c077302a
commit 07bfa9cdbf3cd2daadfaaba0601f126f45951ffa
commit ce83ae29f93772d604b4ea73459fb17822d6a6b0
commit ff599ef6970ee000fa5bc38d02fa5ff5f3fc7575
commit b6499840cafca25175f43ebd601913bf31d06f16
commit f510dd5c210bf8cc22e4be48cbbda3cb754219f5
commit 4bdc5b504af7de1f649004cfdd37445d36db6703
commit b74571a83fd3e50f804f090aae60c864d458187c
commit 327e62f47eb57ae5ff63de82b0815557104e439a
commit 199888aa25b3a3315360224bda9134a9b58c9306
commit fa8a4d3659d0c1ad73d5f59b2e0a6d408de5b317
commit 06c9aeb57fe894e6e442cd66870cd3e863bbf08c
commit ef126c06a98bde1a41303970eb0fc0ac33c3cc02
commit 42ac749d5b8bf78b347ac8a52eb15cc397b157a0
commit 54b86443fd4437c051aefd3f462cfff4defd420c
commit f2be7b39e43893ab5361115de2b95e7c5c86f190
commit 375b035f689735fd7a87ff31ccac3a42717252bf
commit e7d4e1438533abe448813bdc45691f9c230aa307
commit 042658d17a54c9dc8c028986dfbde49f4aa01871
commit 7b6df1d73290961ff0a00fd0022f28dd19e37181
commit d5a29e6a61028887bb8480e7c4af3547d6f3862d
commit 87d749a6aab73d8069d0345afaa98297816cb220
commit 6dcba0975d39b30be65dd038fed69e1aa111c73a
commit 856265caa94a3c78feaa23ec1acd799fe1989201
commit 84f76408abe989809de19d02e476b044fd985adc
commit de848da12f752170c2ebe114804a985314fd5a6a
commit 617a814f14b8914271f7a70366d72c6196d17663
commit 7856a565416e0cf091f825b0e25c7a1b7abb650e
commit cac075706f298948898b1f63e81709df42afa75d
commit f8ffbc365f703d74ecca8ca787318d05bbee2bf7
commit 3a37872316c2e3288e09a1322221c83e5929768d
commit 440d52b370b03b366fd26ace36bab20552116145
commit f0fa69b5011a45394554fb8061d74fee4d7cd72c
commit 338aae5478befee9e0e66afb78c2ad1e8d69825c
commit d7126c0cfc137a580eba92bd82b6d288bd43961d
commit e860513f56d8428fcb2bd0282ac8ab691a53fc6c
commit 8b0d2f61545545ab5eef923ed6e59fc3be2385e0
commit 4771d2ecb7b9e4c2c73ede2908d7e7c989460981
commit 126be9b2bef9c7068fdd464790d82e6d70f9d8e6
commit e1d27f7a9cea1e0c06699164e3b177862e7b4096
commit 6ae9e1aba97e4cdaa31a0bfdc07497ad0e915c84
commit e45b011d2c4146442a388113657b70f0c7cad09b
commit 8048e5ade8224969023902b0b3f64470f9c250a7
commit d52ac79053a2f3eba04c1e7b56334df84d1d289f
commit 4286cc2c953983d44d248c9de1c81d3a9643345c
commit cbc8764e29c2318229261a679b2aafd0f9072885
commit 087913e0ba2b3b9d7ccbafb2acf5dab9e35ae1d5
commit 3cb576bc6dfb8940228b8130638860b631dd428a
commit a8387ddc0d15a365dd04baaa325a863d3612e020
commit 34ad56a467c320d07db22146cfb99ee01704a5de
commit d7d2688bf4ea58734d73e18edcbf4684b1496d30
commit cb787f4ac0c2e439ea8d7e6387b925f74576bdf8
commit e7268dd9bb9953a9eb0df9948abf5195bf474538
commit 994aeacbb3c039b4f3e02e76e6d39407920e76c6
commit abf201f6ce14c4ceeccde5471bdf59614b83a3d8
commit 43102a2012c2e2f8424d7eef52aede8e73cf2fed
commit 394b52462020b6cceff1f7f47fdebd03589574f3
commit 2cd86f02c017bf9733e5cd891381b7d40f6f37ad
commit 2b55639a4e25ff02ee496368b03456bd28ebdc0b
commit fa998a9eac8809da4f219aad49836fcad2a9bf5c
commit 282864cc5d3f144af0cdea1868ee2dc2c5110f0d
commit 7a1f30afe97294281a2ba05977688385744f9844
commit f9e7ac6e2e9986c2ee63224992cb5c8276e46b2a
commit d51160ab00969ee6758ed2dcbc0f81dd476a181c
commit c36df0f5f5e5acec5d78f23c4725cc500df28843
commit 05af800704ee7187d9edd461ec90f3679b1c4aba
commit ef785ca7f7c80891580cafd36c8dd86375684310
commit 52d4e3fb3d340447dcdac0e14ff21a764f326907
commit 34f50cc6441b7fee4a86495d5ef43da5d254bad9
commit 9286a191abe2ea01b34be577e8a09a412dcbb644
commit 5f60d5f6bbc12e782fac78110b0ee62698f3b576
commit 156cc376a200aa9890c1f71c5e3d2fec874a7d07
commit 475be5144459b502d8aa987637dd4d9f38422786
commit 240ebf1c9d4ce1576f58e10365fdd3bed8aba7dc
commit cffa8e83df9fe525afad1e1099097413f9174f57
commit 790533e44bfc7af929842fccd9674c9f424d4627
commit 2d2be279f1ca9e7288282d4214f16eea8a727cdb
commit cb58977016d1b25781743e5fbe6a545493785e37
commit d1ef967126e295d36201e79ec64efdba31710353
commit 0f18ac78aa974660a948dafcc45f4dc6e2c5858d
commit 7929ffce0f8b9c76cb5c2a67d1966beaed20ab61
commit 3bf90935aafc750c838c8831e96c3ac36cfd48d5
commit 6ef5a04221aaeb858d1a825b2ecb7e200cac80f8
commit 1b30f87e088b499eb74298db256da5c98e8276e2
commit 9e3c85ddea7a473ed57b6cdfef2dfd468356fc91
commit 74231870cf4976f69e83aa24f48edb16619f652f
commit 67801fa67b94ebd0e4da7a77ac2d9f321b75fbe0
commit 8135f1c09dd2eecee7cb637f7ec9a29e57300eb8
commit 7257d9c9a3c6cfe26c428e9b7ae21d61f2f55a79
commit a6f3b2527375c786f2eff77d3ee8b805bcfe026d
commit 301d194d01f3074efcf3a10eae116fcddb76788a
commit 5b272bf7dcf969eb4f19ef994b6e60458ee6300f
commit fe6fceceaecf4c7488832be18a37ddf9213782bc
commit 4cc2718f621a6a57a02581125bb6d914ce74d23b
commit d7d7b947a4fa6d0a82ff2bf0db413edc63738e3a
commit 8e82d1199564ea0baab7be31f6558406bab4fe1d
commit d6b9f492e229be1d1bd360c3ac5bee4635bacf99
commit 0a9906cc45d21e21ca8bb2b98b79fd7c05420fda
commit 79bc412ef787cf25773d0ece93f8739ce0e6ac1e
commit 04e0481526e30ab8c7e7580033d2f88b7ef2da3f
commit 835745a377a4519decd1a36d6b926e369b3033e2
commit 32fda5650625065b8ae6dbd9967fb572d3835c35
commit db7f92af626178ba59dbbcdd5dee9ec24a987a88
commit e863781abe4fe430406dd075ca0cab99165b4e63
commit 42465603a31089a89b5fe25966ecedb841eeaa0f
commit 3fd76be868ae5c7e9f905f3bcc2ce0e3d8f5aa08
commit 1badf482816417dca71f8120b4c540cdc82aa03c
commit fc4d262721705f2a7b860946504e7b8a313f06e1
commit fcddc71ec7ecf15b4df3c41288c9cf0b8e886111
commit 28a5dfd4f615539fb22fb6d5c219c199c14e6eb6
commit 4809a017a2bc42ff239d53ade4b2e70f2fe81348
commit 512a9721cae0d88d34ff441f2f5917cd149af8af
commit 26498b8d54373d31a621d7dec95c4bd842563b3b
commit fe4a435bd0c20beb6d7caf87b49bc49a2233b18b
commit b634acb2a070c072900c56154aa43e2ec2d45b2d
commit f07fd958a49264eebc1db9c946eb5d2e91c470fd
commit ac44ff7cec33d5c2d4b72d52603552ec64c1a8bf
commit fcf38bc321fbc87dfcd829f42e64e541f17599f7
commit d2c72d96dff5ba408bb107193b53e3134a516c4b
commit c0ec082f10b7a1fd25e8c1e2a686440da913b7a3
commit 7760d7f93c764625fedca176891238675fd06d62
commit e7457532cb7167516263150ceae86f36d6ef9683
commit 68d26c10ef503175df3142db6fcd75dd94860592
commit 7a1613e47e65ba6967085ad99dee95420346a0ce
commit 28127dba64d8ae1a0b737b973d6d029908599611
commit cb07c8338fc2b9d5f949a19d4a07ee4d5ecf8793
commit 69b3d87212676c4c22aa4660435e2066dc7d1311
commit 2f54e71359eb2abc0bdf6619cd356e5e350ff27b
commit 4ceead37ca9f5e555fe46e8528bd14dd1d2728e8
commit 03a86c24aea0920a1ca20a0d7771d5e176db538d
commit 761f916af44279a99db4e78c5f5ee839b31107ea
commit ed931fb40e353586f26c3327813d142f782f5f78
commit 82926f52d7a09c65d916c0ef8d4305fc95d68c0c
commit 477d665e9b6a1369968383f50c688d56b692a155
commit e7518276e9388d36f103e8c1c7e99898a30d11f5
commit 4e8b5a165160e2f521cc10bae58ce0b72b2e22b5
commit 816b186ce2e87df7c7ead4ad44f70f3b10a04c91
commit 6df106e93f79fb7dc90546a2d93bb3776b42863e
commit ffafd12696d1a4c8eeb7386d798d75e1fafb4e01
commit ec1aab7816b06c32f42935e34ce3a3040c778afb
commit e5a3c24bcaf7bc1c3c2647395aae5de4660c1c64
commit 5b3c0209e88a67a8d029ed8b6e30bca383cbdc55
commit c09c4f2a972ca7cd9c8926594aa2099bcbcd3b79
commit 7626b4e96bdbbadca046a775c6b8e02b842c05e7
commit 49ff3e79a7f49e269b0278e75d35d6421f5538a2
commit 83f000784844cb9d4669ef1a3366479db3197b33
commit 338b655a1178900ac05aca7ac66dc28b05100430
commit 85e444a68126a631221ae32c63fce882bb18a262
commit 5c23878252515b8d2b86839bd4cb7dea7088aacd
commit bf58f03931fdcf7b3c45cb76ac13244477a60f44
commit 9515e74d756b6825f6119823d41b437832d89355
commit f888e3d34b8641a551eba8e0fa26209c5392eec8
commit f67644b219d458d4b314e78f2304b73985390311
commit 23d16ede33a4db4973468bf6652a09da5efd1468
commit 63feb35cd26557572ad95fc062ede344bb61d9ad
commit 108bc59fe817686a59d2008f217bad38a5cf4427
commit ba1959f71117b27f3099ee789e0815360b4081dd
commit 7c210ca5a2d72868e5a052fc533d5dcb7e070f89
commit c8fb95e7a54315460b45090f0968167a332e1657
commit 22ef43c78647dd37b0dafe2182b8650b99dbbe59
commit 69418db678567bdf9a4992c83d448da462ffa78c
commit 9c1813b3253480b30604c680026c7dc721ce86d1
commit cdc21021f0351226a4845715564afd5dc50ed44b
commit 2ba1f81ec7cbb2a9920cd3435c515247863b32a6
commit e3e1cfe33f932860e070eafec8df8780e3b889a8
commit 4d95a12beba146b0ca2de59c7ce905bc0aadfd0c
commit 746ae46c11137ba21f0c0c68f082a9d8c1222c78
commit 4aa923a6e6406b43566ef6ac35a3d9a3197fa3e8
commit 935abb86a95def8c20dbb184ce30051db168e541
commit 25f2ff53838ccbd5ce558b5d23fac8a5d7f86655
commit dcb6c1d071712186c213c26b245779f7859b9cec
commit 6a9d2e2988fa3ef9b03ddd9ba9aaa54dc23635e6
commit 5d01b56f0518d80211812420a8907ca0b6c6e4e3
commit 412a2a8fdd4eb89b263623c7a59b77dbfcf8f215
commit 4700fd3e050da8302e60ebd4850d008250fa7204
commit caa714f86699bcfb01aa2d698db12d91af7d0d81
commit 926163342a2e7595d950e84c17c693b1272bd491
commit add4163aca0d4a86e9fe4aa513865e4237db8aef
commit 993ca0eccec65a2cacc3cefb15d35ffadc6f00fb
commit fe05cee4d9533892210e1ee90147175d87e7c053
commit 8594a2d8d72d86b70b8bace607100d88111aedf6
commit f99c7cca2f712d11a67148cfbe463fdefeb82dc5
commit b0ef514bc6bbdeb8cc7492c0f473e14cb06b14d4
commit b04ce1e718bd55302b52d05d6873e233cb3ec7a1
commit 7fd3fa006fa56c0ec299c61ecf5c572c723adad5
commit 4b468a92ddb2985da66823910a1643349fe6447d
commit 55e8a3f37e54eb1c7b914d6d5565a37282ec1978
commit 7d1e2580ed166f36949b468373b468d188880cd3
commit 1491efb39acee3848b61fcb3e5cc4be8de304352
commit 4f26c95ffc21a91281429ed60180619bae19ae92
commit 694c79769cb384bca8b1ec1d1e84156e726bd106
commit a6dd15981c03f2cdc9a351a278f09b5479d53d2e
commit 1356bfc54c8d4c8e7c9fb8553dc8c28e9714b07b
commit 74e1006430a5377228e49310f6d915628609929e
commit e301aea030d60da760f85f854a82ce788d5cf6e7
commit 3ce3f85787352fa48fc02ef6cbd7a5e5aba93347
commit b46dadf7e3cfe26d0b109c9c3d81b278d6c75361
commit f790a2c494c4ef587eeeb9fca20124de76a1646f
commit 4d75b9468021c73108b4439794d69e892b1d24e3
commit af797b831d8975cb4610f396dcb7f03f4b9908e7
commit 64a2b6ed4bfd890a0e91955dd8ef8422a3944ed9
commit a353c78459f4d116216393cc29032ef5fe1472d2
commit 514447a1219021298329ce586536598c3b4b2dc0
commit 052ef642bd6c108a24f375f9ad174b97b425a50b
commit 444fa5b100e5c90550d6bccfe4476efb0391b3ca
commit f432a1621f049bb207e78363d9d0e3c6fa2da5db
commit 9b984a71c240ed9287d6358109f6a0c6ab5bba32
commit 1a6bbc4d9e55d6c9df2dfe7d4f2705a544d8ca13
commit b8d9d5fef4915a383b4ce4d0f418352aa4701a87
commit bd8a9576617439bdc907c9ce0875909aea4221cb
commit 6825cb07b79ffeb1d90ffaa7a1227462cdca34ae
commit 9fc0cbcb6e45d6fc96ffd3bb7b6d6d28d693ff4d
commit 16dd2825c23530f2259fc671960a3a65d2af69bd
commit d641a151fcaf0d043075b214b469a14abab25af2
commit df0279e2a1c0735e8ca80c5df8d9f8f9fc120b4a
commit 0e5ac88fb918297a7484b67f2b484d43bed3fbbe
commit 79365ea70714427b4dff89b43234ad7c3233d7ba
commit db0fc586edde83ff7ff65fea56c4f72dae511764
commit 67e023b93d69e5a21b16f9602656a803d314e825
commit 5a67c31669a3aca814a99428328d2be40d82b333
commit 4bb2f52ac01b8d45d64c7c04881207722e5e6fe4
commit 5f77ee21eb44e37e371bcea195ea9403b95d1399
commit 7013a8268d311fded6c7a6528fc1de82668e75f6
commit 3387e043918e154ca08d83954966a8b087fe2835
commit ce0d6970231903f43572a6998020fdc8b3a8f455
commit dd886a63d6e2ce5c16e662c07547c067ad7d91f5
commit 46f1f4b0f3c2a2dff9887de7c66ccc7ef482bd83
commit be7eeaba2a11d7c16a9dc034a25f224f1343f303
commit c0403e4ceecaefbeaf78263dffcd3e3f06a19f6b
commit 21ec425eaf2cb7c0371f7683f81ad7d9679b6eb5
commit b6ad7debf5ab3e581b5cb0f5c94e404ec968bd5b
commit 9776c0a75a1a86b753b2dc7c1ecc3baa048a8dec
commit 93d1f41a82de382845af460bf03bcb17dcbf08c5
commit 32c4514455b2b8fde506f8c0962f15c7e4c26f1d
commit 99d051c4b33cfb451dca0c30e28da25db2ce4d7f
commit 1eb0de899b1eafe2c3aca8763c99e5c5ed791561
commit 21c1c6c7d732c2f6f4c5ffc77e103aa3ae8bff1d
commit 44f392fbf628a7ff2d8bb8e83ca1851261f81a6f
commit f48ab0a39f12fd83fae13bf81152531565cd5e75
Signed-off-by: Robert Foss <rfoss@redhat.com>
2024-11-21 22:32:41 +00:00
|
|
|
/*
|
|
|
|
* HDMI 1.3a table 5-14 states that the largest InfoFrame_length is 27,
|
|
|
|
* not including the packet header or checksum byte. We include the
|
|
|
|
* checksum byte in HDMI_INFOFRAME_HEADER_SIZE, so this should allow
|
|
|
|
* HDMI_INFOFRAME_SIZE(MAX) to be the largest buffer we could ever need
|
|
|
|
* for any HDMI infoframe.
|
|
|
|
*/
|
|
|
|
#define HDMI_MAX_INFOFRAME_SIZE 27
|
|
|
|
|
2013-08-06 19:32:15 +00:00
|
|
|
#define HDMI_INFOFRAME_SIZE(type) \
|
|
|
|
(HDMI_INFOFRAME_HEADER_SIZE + HDMI_ ## type ## _INFOFRAME_SIZE)
|
|
|
|
|
2013-08-06 19:32:14 +00:00
|
|
|
struct hdmi_any_infoframe {
|
|
|
|
enum hdmi_infoframe_type type;
|
|
|
|
unsigned char version;
|
|
|
|
unsigned char length;
|
|
|
|
};
|
|
|
|
|
2012-11-21 14:29:29 +00:00
|
|
|
enum hdmi_colorspace {
|
|
|
|
HDMI_COLORSPACE_RGB,
|
|
|
|
HDMI_COLORSPACE_YUV422,
|
|
|
|
HDMI_COLORSPACE_YUV444,
|
2014-12-19 12:14:20 +00:00
|
|
|
HDMI_COLORSPACE_YUV420,
|
|
|
|
HDMI_COLORSPACE_RESERVED4,
|
|
|
|
HDMI_COLORSPACE_RESERVED5,
|
|
|
|
HDMI_COLORSPACE_RESERVED6,
|
|
|
|
HDMI_COLORSPACE_IDO_DEFINED,
|
2012-11-21 14:29:29 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_scan_mode {
|
|
|
|
HDMI_SCAN_MODE_NONE,
|
|
|
|
HDMI_SCAN_MODE_OVERSCAN,
|
|
|
|
HDMI_SCAN_MODE_UNDERSCAN,
|
2014-12-19 12:14:20 +00:00
|
|
|
HDMI_SCAN_MODE_RESERVED,
|
2012-11-21 14:29:29 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_colorimetry {
|
|
|
|
HDMI_COLORIMETRY_NONE,
|
|
|
|
HDMI_COLORIMETRY_ITU_601,
|
|
|
|
HDMI_COLORIMETRY_ITU_709,
|
|
|
|
HDMI_COLORIMETRY_EXTENDED,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_picture_aspect {
|
|
|
|
HDMI_PICTURE_ASPECT_NONE,
|
|
|
|
HDMI_PICTURE_ASPECT_4_3,
|
|
|
|
HDMI_PICTURE_ASPECT_16_9,
|
2016-10-17 12:04:39 +00:00
|
|
|
HDMI_PICTURE_ASPECT_64_27,
|
|
|
|
HDMI_PICTURE_ASPECT_256_135,
|
2014-12-19 12:14:20 +00:00
|
|
|
HDMI_PICTURE_ASPECT_RESERVED,
|
2012-11-21 14:29:29 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_active_aspect {
|
|
|
|
HDMI_ACTIVE_ASPECT_16_9_TOP = 2,
|
|
|
|
HDMI_ACTIVE_ASPECT_14_9_TOP = 3,
|
|
|
|
HDMI_ACTIVE_ASPECT_16_9_CENTER = 4,
|
|
|
|
HDMI_ACTIVE_ASPECT_PICTURE = 8,
|
|
|
|
HDMI_ACTIVE_ASPECT_4_3 = 9,
|
|
|
|
HDMI_ACTIVE_ASPECT_16_9 = 10,
|
|
|
|
HDMI_ACTIVE_ASPECT_14_9 = 11,
|
|
|
|
HDMI_ACTIVE_ASPECT_4_3_SP_14_9 = 13,
|
|
|
|
HDMI_ACTIVE_ASPECT_16_9_SP_14_9 = 14,
|
|
|
|
HDMI_ACTIVE_ASPECT_16_9_SP_4_3 = 15,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_extended_colorimetry {
|
|
|
|
HDMI_EXTENDED_COLORIMETRY_XV_YCC_601,
|
|
|
|
HDMI_EXTENDED_COLORIMETRY_XV_YCC_709,
|
|
|
|
HDMI_EXTENDED_COLORIMETRY_S_YCC_601,
|
2018-09-13 11:47:29 +00:00
|
|
|
HDMI_EXTENDED_COLORIMETRY_OPYCC_601,
|
|
|
|
HDMI_EXTENDED_COLORIMETRY_OPRGB,
|
2014-12-19 12:14:20 +00:00
|
|
|
|
|
|
|
/* The following EC values are only defined in CEA-861-F. */
|
|
|
|
HDMI_EXTENDED_COLORIMETRY_BT2020_CONST_LUM,
|
|
|
|
HDMI_EXTENDED_COLORIMETRY_BT2020,
|
|
|
|
HDMI_EXTENDED_COLORIMETRY_RESERVED,
|
2012-11-21 14:29:29 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_quantization_range {
|
|
|
|
HDMI_QUANTIZATION_RANGE_DEFAULT,
|
|
|
|
HDMI_QUANTIZATION_RANGE_LIMITED,
|
|
|
|
HDMI_QUANTIZATION_RANGE_FULL,
|
2014-12-19 12:14:20 +00:00
|
|
|
HDMI_QUANTIZATION_RANGE_RESERVED,
|
2012-11-21 14:29:29 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/* non-uniform picture scaling */
|
|
|
|
enum hdmi_nups {
|
|
|
|
HDMI_NUPS_UNKNOWN,
|
|
|
|
HDMI_NUPS_HORIZONTAL,
|
|
|
|
HDMI_NUPS_VERTICAL,
|
|
|
|
HDMI_NUPS_BOTH,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_ycc_quantization_range {
|
|
|
|
HDMI_YCC_QUANTIZATION_RANGE_LIMITED,
|
|
|
|
HDMI_YCC_QUANTIZATION_RANGE_FULL,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_content_type {
|
2014-12-19 12:14:20 +00:00
|
|
|
HDMI_CONTENT_TYPE_GRAPHICS,
|
2012-11-21 14:29:29 +00:00
|
|
|
HDMI_CONTENT_TYPE_PHOTO,
|
|
|
|
HDMI_CONTENT_TYPE_CINEMA,
|
|
|
|
HDMI_CONTENT_TYPE_GAME,
|
|
|
|
};
|
|
|
|
|
2019-05-16 14:10:06 +00:00
|
|
|
enum hdmi_metadata_type {
|
2021-01-24 04:40:10 +00:00
|
|
|
HDMI_STATIC_METADATA_TYPE1 = 0,
|
2019-05-16 14:10:06 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_eotf {
|
|
|
|
HDMI_EOTF_TRADITIONAL_GAMMA_SDR,
|
|
|
|
HDMI_EOTF_TRADITIONAL_GAMMA_HDR,
|
|
|
|
HDMI_EOTF_SMPTE_ST2084,
|
2019-05-16 14:10:12 +00:00
|
|
|
HDMI_EOTF_BT_2100_HLG,
|
2019-05-16 14:10:06 +00:00
|
|
|
};
|
|
|
|
|
2012-11-21 14:29:29 +00:00
|
|
|
struct hdmi_avi_infoframe {
|
|
|
|
enum hdmi_infoframe_type type;
|
|
|
|
unsigned char version;
|
|
|
|
unsigned char length;
|
Merge DRM changes from upstream v6.4..v6.5
NOTE: This commit does not compile due to missing RHEL-specific fix-ups,
which are split out into separate Git commits following this one.
If git bisect selected this commit, run "git bisect skip" and try again.
Repeat this until it selects a commit which compiles.
This commit was generated using:
rhdrm-merge-drm v6.5 RHEL-1350
JIRA: https://issues.redhat.com/browse/RHEL-1350
Conflicts:
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource_helpers.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
drivers/gpu/drm/bridge/tc358768.c
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c
drivers/gpu/drm/i915/gt/uc/intel_uc.c
drivers/gpu/drm/vkms/vkms_composer.c
drivers/gpu/drm/vkms/vkms_formats.c
Conflict resolution:
diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index e1d699992cef,ec1ec08d4058..a4086ef92924
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@@ -2378,8 -2471,7 +2471,11 @@@ int amdgpu_vm_ioctl(struct drm_device *
union drm_amdgpu_vm *args = data;
struct amdgpu_device *adev = drm_to_adev(dev);
struct amdgpu_fpriv *fpriv = filp->driver_priv;
- int r;
+
++ /* No valid flags defined yet */
++ if (args->in.flags)
++ return -EINVAL;
+
/* No valid flags defined yet */
if (args->in.flags)
return -EINVAL;
diff --cc drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
index fe2752ec67f7,709ac885ca6d..e2829454b7c7
--- a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
@@@ -985,11 -991,11 +989,11 @@@ static const struct dev_pagemap_ops svm
/* Each VRAM page uses sizeof(struct page) on system memory */
#define SVM_HMM_PAGE_STRUCT_SIZE(size) ((size)/PAGE_SIZE * sizeof(struct page))
- int svm_migrate_init(struct amdgpu_device *adev)
+ int kgd2kfd_init_zone_device(struct amdgpu_device *adev)
{
- struct kfd_dev *kfddev = adev->kfd.dev;
+ struct amdgpu_kfd_dev *kfddev = &adev->kfd;
struct dev_pagemap *pgmap;
- struct resource *res = NULL;
+ struct resource *res;
unsigned long size;
void *r;
diff --cc drivers/gpu/drm/i915/display/intel_crtc.c
index 72d90edd9518,182c6dd64f47..e7083689cf4d
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@@ -696,10 -703,10 +707,11 @@@ void intel_pipe_update_end(struct intel
* FIXME Should be synchronized with the start of vblank somehow...
*/
if (new_crtc_state->seamless_m_n && intel_crtc_needs_fastset(new_crtc_state))
- intel_crtc_update_active_timings(new_crtc_state);
+ intel_crtc_update_active_timings(new_crtc_state,
+ new_crtc_state->vrr.enable);
- local_irq_enable();
+ if (!IS_ENABLED(CONFIG_PREEMPT_RT))
+ local_irq_enable();
if (intel_vgpu_active(dev_priv))
return;
diff --cc drivers/gpu/drm/i915/gt/intel_lrc.c
index 5f75df549e75,9477c2422321..d26e24193a37
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@@ -1364,19 -1364,14 +1364,18 @@@ gen12_emit_indirect_ctx_rcs(const struc
IS_DG2_G11(ce->engine->i915))
cs = gen8_emit_pipe_control(cs, PIPE_CONTROL_INSTRUCTION_CACHE_INVALIDATE, 0);
- /* hsdes: 1809175790 */
- if (!HAS_FLAT_CCS(ce->engine->i915))
- cs = gen12_emit_aux_table_inv(ce->engine->gt,
- cs, GEN12_GFX_CCS_AUX_NV);
+ cs = gen12_emit_aux_table_inv(ce->engine, cs);
/* Wa_16014892111 */
- if (IS_DG2(ce->engine->i915))
+ if (IS_MTL_GRAPHICS_STEP(ce->engine->i915, M, STEP_A0, STEP_B0) ||
+ IS_MTL_GRAPHICS_STEP(ce->engine->i915, P, STEP_A0, STEP_B0) ||
+ IS_DG2(ce->engine->i915))
cs = dg2_emit_draw_watermark_setting(cs);
+ /* Wa_16014892111 */
+ if (IS_DG2(ce->engine->i915))
+ cs = dg2_emit_draw_watermark_setting(cs);
+
return cs;
}
diff --cc drivers/gpu/drm/i915/gt/uc/intel_huc.c
index 967eee5dc31b,fa70defcb5b2..9cc33c117883
--- a/drivers/gpu/drm/i915/gt/uc/intel_huc.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_huc.c
@@@ -293,25 -296,24 +296,35 @@@ void intel_huc_init_early(struct intel_
}
if (GRAPHICS_VER(i915) >= 11) {
- huc->status.reg = GEN11_HUC_KERNEL_LOAD_INFO;
- huc->status.mask = HUC_LOAD_SUCCESSFUL;
- huc->status.value = HUC_LOAD_SUCCESSFUL;
+ huc->status[INTEL_HUC_AUTH_BY_GUC].reg = GEN11_HUC_KERNEL_LOAD_INFO;
+ huc->status[INTEL_HUC_AUTH_BY_GUC].mask = HUC_LOAD_SUCCESSFUL;
+ huc->status[INTEL_HUC_AUTH_BY_GUC].value = HUC_LOAD_SUCCESSFUL;
+ } else {
+ huc->status[INTEL_HUC_AUTH_BY_GUC].reg = HUC_STATUS2;
+ huc->status[INTEL_HUC_AUTH_BY_GUC].mask = HUC_FW_VERIFIED;
+ huc->status[INTEL_HUC_AUTH_BY_GUC].value = HUC_FW_VERIFIED;
+ }
+
+ if (IS_DG2(i915)) {
+ huc->status[INTEL_HUC_AUTH_BY_GSC].reg = GEN11_HUC_KERNEL_LOAD_INFO;
+ huc->status[INTEL_HUC_AUTH_BY_GSC].mask = HUC_LOAD_SUCCESSFUL;
+ huc->status[INTEL_HUC_AUTH_BY_GSC].value = HUC_LOAD_SUCCESSFUL;
} else {
- huc->status.reg = HUC_STATUS2;
- huc->status.mask = HUC_FW_VERIFIED;
- huc->status.value = HUC_FW_VERIFIED;
+ huc->status[INTEL_HUC_AUTH_BY_GSC].reg = HECI_FWSTS5(MTL_GSC_HECI1_BASE);
+ huc->status[INTEL_HUC_AUTH_BY_GSC].mask = HECI_FWSTS5_HUC_AUTH_DONE;
+ huc->status[INTEL_HUC_AUTH_BY_GSC].value = HECI_FWSTS5_HUC_AUTH_DONE;
}
+
+ /*
+ * Initialize fence to be complete as this is expected to be complete
+ * unless there is a delayed HuC reload in progress.
+ */
+ i915_sw_fence_init(&huc->delayed_load.fence,
+ sw_fence_dummy_notify);
+ i915_sw_fence_commit(&huc->delayed_load.fence);
+
+ hrtimer_init(&huc->delayed_load.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
+ huc->delayed_load.timer.function = huc_delayed_load_timer_callback;
}
#define HUC_LOAD_MODE_STRING(x) (x ? "GSC" : "legacy")
diff --cc drivers/gpu/drm/vkms/vkms_formats.c
index b11342026485,5945da0beba6..02bad87a75c2
--- a/drivers/gpu/drm/vkms/vkms_formats.c
+++ b/drivers/gpu/drm/vkms/vkms_formats.c
@@@ -109,8 -118,15 +118,16 @@@ void vkms_compose_row(struct line_buffe
u8 *src_pixels = get_packed_src_addr(frame_info, y);
int limit = min_t(size_t, drm_rect_width(&frame_info->dst), stage_buffer->n_pixels);
- for (size_t x = 0; x < limit; x++, src_pixels += frame_info->cpp)
- plane->pixel_read(src_pixels, &out_pixels[x]);
+ for (size_t x = 0; x < limit; x++, src_pixels += frame_info->cpp) {
+ int x_pos = get_x_position(frame_info, limit, x);
+
+ if (drm_rotation_90_or_270(frame_info->rotation))
+ src_pixels = get_packed_src_addr(frame_info, x + frame_info->rotated.y1)
+ + frame_info->cpp * y;
+
+ plane->pixel_read(src_pixels, &out_pixels[x_pos]);
+ }
}
/*
Commit list:
commit ddb24fc525ddaf35130d96478f3f18682a9d5926
commit ddb78a51fac65e8db2316ded59e27ab621aea856
commit eaee1c08586395182e0004b3512a2f83570ea461
commit 63b685efaa4d6b9db388857a2e6f5f5f11454f8d
commit e24e6d695377ca70008ffc39695c3975b3e177b6
commit 16fc9c08f0ec7b1c95f1ea4a16097acdb3fc943d
commit 404c3acda4b65924c05bc63242e94f954f84c165
commit 57b5482bff9e4f60069a8c0de91bb397612ce059
commit ec280042094c3f700d7321e7163591c6eac72274
commit 1dcd7aac31842028beb5fa2531fd54ce0d588b17
commit 68f5f78d0fe08f277a3aea9ad28508a7f243de6a
commit e0980b8d82d1306251bcd67b693e008bb6c89512
commit e006df050606785aa7d04cd47f913d9c6ce4669d
commit 01c2be8e1b97ee4891d1e1ffb7758897d441bb3c
commit b6f4b3a1474d8bed9fad2b4d681368710375bbe9
commit 37c8cabfcc5ce2c06baf0a2d0176043b0b256e49
commit d6fff836c0e0502a569811c7708aed0762e04337
commit ea68a3e9d14e9e0bf017d178fb4bd53b6deb1482
commit b90b044c64f669cb20919fb5e5673933de59c653
commit 1bf3836383e6957ac848ee81eb691820c862b3d6
commit 99cc528ebe923d04767e9979665a0824727376ba
commit 17e05aeb3b987a17b2ee5185264bec5db1d0c746
commit 6a98560755636b07ca54bf9cea6435b8e82b57d5
commit b25e07419fee6e3be07e58cc64f50e11228987d3
commit fa9e4fce52ec4ee45ddfc6747ecb2bc8856c4753
commit ecaeecea9263496ecbb287aac6545e8b3cd9257d
commit 99cfbed19d06dfe9c9929c436b5a768231c05b70
commit 1af1d18825d3a5d36b6a3e5049998c3f09321145
commit 76ec69272195317080c16b970d23aebdaf192883
commit e39c76b2160bbd005587f978d29603ef790aefcd
commit a2da67028cd05516343533c1609fcaf037237fed
commit 435db526a68b6454a882eae7a3768c516d4b540e
commit e13b3f65af719e79046df2b1da6599eb387752e0
commit d7c281eecec0699449ca9ecfff82fe056dddb488
commit 446a20c9ba622bb531f1705eab88b64d478ee434
commit 7cb3eb334b8c2a06f780abcf38bffbd9efa4cec1
commit a42e65f33c38e3b0191cf6a1bc8ebb6c8289127d
commit 51390cc0e00a378b7c152bb6f63efc0a01b59d20
commit ea8af87ae6be578b3b633ad6aa9188b0ce4cd7ee
commit babde06db8858a4fdb4ab3c64e442885487dbd8c
commit 23ef61946374a9ba52ae051cbc95e82f054ea16b
commit 5836bc5f8d3113ccdda2a10fb86344a9f03698ca
commit b66a8abaa48accd3d4b93c1820bbd995fa26ed78
commit 764739d8cef28a3c926bb58a63894a162d9997a2
commit adfbae9ffe339eed08d54a4eb87c93f4b35f214b
commit 3b6692357f70498f617ea1b31a0378070a0acf1c
commit ebb7619d3ac85d7aae0a5e8d7038d32211ca7dba
commit e920aabf8348de4160301b029b13d72eae0531d5
commit 8bfbdadce85c4c51689da10f39c805a7106d4567
commit 80e993988b97fe794f3ec2be6db05fe30f9353c3
commit 62aeaeaa1b267c5149abee6b45967a5df3feed58
commit 5fbcc6708fe32ef80122cd2a59ddca9d18b24d6e
commit 116b1c5a364bcbdc40be64d4f3ec9dbc32e264dd
commit 7f6f26d7adee150e09d7537acc6d6894c27c0b7a
commit e28f6966ac8021d8b677fe3839361db8c9344206
commit ae52dd7d6d933511c90d129addfc629feff147b5
commit 77316e7552137e1ed1ac3d719be844f36756eb1c
commit ff2c80be1a002ae268ee78e3cf183b89c1aef77c
commit 15e4f0b541d4c0b2144955111a1b37b5bfabbf63
commit 40053823baadce4e300cb011ac4e3d16be93bf6a
commit 86a1758d751de03e8f3d8810fe22eaf571798871
commit 59c6106e274dbafd9d25357585ae5ede4b6673dd
commit 3183b9ebad7d3f1d711f152222577116ca08b299
commit cde4bd87863124fb6feee35b7f73552f5e75ea61
commit 62bb6b4920ce9d9a7cc365c4e1cc13134cd1cc24
commit aecb583cb997935fb4f4a667a8013469528a8d53
commit 1eae88fa7b56b3b02d0e003a737fc31d71f3f486
commit 4f048de28b90abefff2044f450e882576eb746e9
commit 3778724bec53a3585cde6aed8c75ae3f085c3dcb
commit e1b570db8687c993e7a87516387a3bb3b5e63ac6
commit df8133d0c3e53e98df3c78c30f31530f580f1bce
commit 6ef481d45f8b37dc9cca11d7126bd2c99e8a0943
commit 5149545dbcbb15105312014201b9c0aa859c6044
commit 41239aa4f751fbc39481a4af726faa347a26da83
commit 488c1ce6a8f3d46e20440b2e240e096a20259fcc
commit 8a89e1323d7dc90fa551cf2167ab838013641788
commit 4aa35a0130d6b8afbefc9ef530a521fb0fb9b8e1
commit 088248f4b0ee089cb78a318411d23566e3737dd1
commit d1f3b5e92cbab10b4710ba33e20b264c852d19aa
commit 40d06b0fae915ec8bbfbde69ee1cfb2d9a2b7a53
commit d28cdc43b43b77287d7839ef1b94fdaa24d2a444
commit cfe5bdfb27fa234505e96f7775d32415ed705f94
commit a823c5a825cf9e49b2e20011cd87d93f949c2a27
commit b8fe56375f78835db47565d91ea9d21767fe3c08
commit e4dfd94d5e3851df607b26ab5b20ad8d94f5ccff
commit 9b035d089086deb75d6664b26d36e35853e58ce9
commit 6f0ef80a00adfd51be22b6ab84acd48de1d3938d
commit e101bf95ea87ccc03ac2f48dfc0757c6364ff3c7
commit 751e17147953bc30036b8fe0eaaf780b6951404c
commit e0a77e09c707cf89317de00f87b94b1168f27acd
commit d63e31f66892f67d8f1e279c57c4c0aee789fc66
commit 4ad3ee5ccc77aa3f9d702f7b9ad4d9cfeca6c443
commit 785b250e33c7b1a9dcdb262eac691cd33ac7a53a
commit 72529b683c6d94fa87f3a42efd9b92ccfb8def41
commit c0162a05bd31129e29a23d4bd1d2321c9663d5bc
commit 3cfd03b79425c8c9e10d15434f0b017249372609
commit d11dfbecc3feed5916bbe6c10942d9db61a9e2de
commit c4edb01374685a3ea195c7d31459448cabe5a34e
commit e97cc04fe0fb33e489583dff79f6b1d6919fcc66
commit 522b9a5d5852f99e51fbc460054dc8af3b4b5b30
commit cdff36a0217aadf5cbc167893ad1c0da869619cb
commit e3416e872f84086667df21daf166506fab97358d
commit 4d5f872dbc755114628c236e17421629ec522203
commit 6bfe9a23a8d6c7292d520747859a515fd429518d
commit 7052a801d6bc8cd203e1708313e4996630208a6e
commit 9fc6e4b36f2a748c853512d5ce4c8c4b98941c75
commit d062de7b68f27546a45c063b046b66c0a73633db
commit 276641775848020c6e84166d1bc885e028a04680
commit 21fc0ff38f571debdba6aaff944addb50f49a7f7
commit ec341e0f4a02040ee8d6ef156f8bf02c5aa5c511
commit f0c5f9ebbc4cfd6b9611b8a5d9fb208c5f60e3e6
commit a6c0c9f56197fcb3418be82a7d9f9952be1b5598
commit 7ab269d54813e03eec8a5acc415b2aef55aaf916
commit bddb55ccbdc20dd7fd526c8dfb13f695637bf7b1
commit 499e4b1c722e0e2ca40c56342b766e95f6c31f4a
commit c18842a2e81a3e3d5c7401f061d7887b422aeebc
commit 08c73e896836be1a1875c612c25a9ad81893ff98
commit 2a66c0c9d20238812172693b5bef28c6c659eff4
commit 0c316556d124916e1dc2be171b3414b764972802
commit cd8f067a46d34dee3188da184912ae3d64d98444
commit 3306ba4b60b2f3d9ac6bddc587a4d702e1ba2224
commit 128c1ca0303fe764a4cde5f761e72810d9e40b6e
commit 97041ed37718dc9ba30aa23ca74093dc93ac89fb
commit c30ddcece3a0a86853862a7d92678a79525ca1fb
commit 4f18b9a6711adbc7c76993c734a94ee3f5c61791
commit 7f102a906681cddb8ababe53e0caa40a17f4cd11
commit 1fa8d710573f02ae9118bc5f53e7ede09d6920da
commit 94344e62a9ce8abcf681390f9822a7b075cf98e2
commit 20c3dffdccbd494e0dd631d1660aeecbff6775f2
commit 277bd3371f11400d5b02df54f057569be4b10cea
commit be697aa3a78ef83a6b8d49e1f0671a002e502cd0
commit c38be07035bcb31274ce5f85e3b249f691c5b8db
commit def799c6596d078112095c24c25e162cb5102d90
commit 86301129698be52f8398f92ea8564168f6bfcae1
commit 5aa998baab3360d0f1b93d6aff3df924045f956c
commit 6f917fdc934518401ff2e166e6db1f6ac1ef1078
commit ec08571aca7c5e6bf2d1820db9c8aaa104eb9b68
commit d51ac6d0a23caf1005cb640f8533161c5d2dd0c0
commit 86b20703e4c5a3c39891def0a68e7438aeca9db9
commit 96c7c2f4d5bd94b15fe63448c087f01607b56f4a
commit 27ac123b454417ea92d77c13a5d94655f53b759c
commit 476f62b8a597202a7c97bf50a7f6ece0925ce6f0
commit a6704f4a5452950e7ff22cab0cff23477dbdf0e0
commit a347279dec1eb68e995f864ae1fd41ab57cbcd21
commit 0c29efa23f5c2f51b744856200af0cff3e287e9e
commit 88c487938414c519fdb1c7e55211d8778d3367d0
commit 0c8d9870177a2d7c9e88a2e79dc20950ec84328f
commit 514b8a79aa85d800458cfb7909ed0e1a1c1bffa2
commit c91acda3a380bcaf41b67c8fbab668ef8ddf91c3
commit 3bece767dab2ffbd6f77be1a0ceb3e214f0144f8
commit ba1fb317bbcb67d8024f0e83e509e8c57da35ac5
commit b13604c0ff26ecde5f708ef5e1fd233f8e89e1f6
commit 8902a55dfcff7add5d8cc77781ecc311fba8855a
commit 691248d4135fe3fae64b4ee0676bc96a7fd6950c
commit 8637e1c84c5f2c3ea4a1e145ca226fef90a148a2
commit 8976b18249407df8bf6ea18ecae0640a15341a50
commit 597421a806c7485b91ee4cf7ec2ce3618223dc92
commit 08df6d30c1022e738dd26e732a36f3f7642594d2
commit e27525cc805548eaaa9d0cb8e8f0f181e9cd5390
commit 75d020db38b8ec325fe5a28336646e93eac3b033
commit 12de65d9c6e3b7b0b05ec03cc19669268ee1318f
commit 3d0d33363cdf4bdc41227cccc28848d6b2fc2998
commit 3df3c589cc8f4ff1f08302029d6ddef96ea1d449
commit 1d9582dc2b5f5c82dc9471c8d97c0712d5a04c5c
commit 2624ee66359b24062b6e8f6216c4ff2a778237a6
commit 34c1aeb579ddd36392e18e2fc354db441556811e
commit 2590ef92cdff017ac98012593db54c4d5b96388d
commit da57e3d6ed433bbfc52730aec111afb6856f9441
commit 4fb5f569055ccead1807139791b368b31f1e7301
commit a82e0b6fb2cb369672ff9ffb383d7d402aa54163
commit 79b6e265d92092b49252f546e1a0f63ae8851f83
commit 224d3df954c184826657bbacd2a562dc99478cb3
commit 66daccde429611530db82605c197be01adadb389
commit 4e7f84ec068cec6a9a72fe0f558e0ae4cf765c51
commit 20dfae3ca28ff874e506c48704eed2a465a82585
commit bfa010f608491036327db20aad1d15e28da0189e
commit 6152aec1ddb40620cd8d2b36b45171c2d1bd82d1
commit b0dc10428460ac2408cf5f82fc3562e9e57324e1
commit 01382501509871d0799bab6bd412c228486af5bf
commit 8eba72053c682d8ae652bed4a62546239e58390b
commit 5c65a4b8e65e3247f86ec5152da138500edcf50c
commit 47fc644f801e4414753a9b7e87ed41f991cd68c3
commit 47659738fbd2f06730635a487605002ea9b11f3d
commit 948ca54c424be395402624ca0e21ad5ddf77cb6a
commit 8fa33bd8d327ae2f9b602cd883f32efc4662bea0
commit 8b6a6aa5d6d2be6a0669a29deb89184aaa0bad65
commit 7abac457ba75e3c6f6468036ad6f424bc56b2750
commit 92d1fe5954dc28c4e0260b730dd79d2acfdfa29f
commit a1f1fecd04f0b9ef600898c7f9b2094504127fd7
commit 974ce18160bb16c8addf6889fff977564404b87b
commit 2c30f85551211a48f7be57499a6fcb4ad00875da
commit 44243719117171e947317a1aca4625c317f7dcb0
commit 05ffbdf4dbd55b9526535bddddf40dafdc2b27d4
commit 0244b0f7d5ac2b6a8d5716f6dd2fb2631f13a3b5
commit 72a9be2f444a9fd4ab34e6329fa1889dbd3a7ef3
commit 4335077a76095ff75dc0ffb031aeae93f9f5e80f
commit 3ac73f1ef2b403048c98fdf0f29ba32571efb849
commit 255ce8f7c169fa385ad04f01c7babab5f636a3ce
commit 58e67bb3c131da5ee14e4842b08e53f4888dce0a
commit 710cc1e7cd461446a9325c9bd1e9a54daa462952
commit 4f63b7a59926eb7fb50091e796170a10a8ef4091
commit f828b681d0cd566f86351c0b913e6cb6ed8c7b9c
commit 87c2213e85bd81e4a9a4d0880c256568794ae388
commit 053065a43ca6466575d9d3c9110e305fdcf303d3
commit 4371fa7795dabb422171de5e8d9fe7aa3e2edb86
commit 0026c273e68ee82a7843f5de26147357bc7e6551
commit 8f7f1b020ea641f21e7c88db55170a4d15834668
commit 7787af256504b13f0ab6c311ed7870a895b762b8
commit 1993f598998d7419f5c9fa8459f4919cf5f3643e
commit 55b24786b74863b8f10e4d262e642749911cb3bb
commit 6b99658c93ce0ab84c4682a22df245ddefb0ebc5
commit b76c0deef6273609c02ed5053209f6397cd1b0fb
commit faca6aaa4838c3c234caa619d3c7d1f09da0d303
commit 64e22551b64c694de428a9d3e210587df2831ef3
commit 66ca1d8f222bdb1c9470e44131e12d753622ab08
commit 539f9ee4b52a8bec95ff064e22dd2fb1e258e818
commit 70102d77ff22dd88a0111b1c3bac5099ac5d0425
commit f452cbd326dfa57c6f4ca8bc37879bf189f29cff
commit 96c3161926c6aa81365f074e9c408ca31b7ca756
commit 1f01f2247e3c4ed55c96afccd0072cd31793c604
commit 881e2a9cc11fb53b1de10d951a11a69d23035bbf
commit b5d88ec0ee3d0c75d2eb515efc335d031134bd75
commit 8356b97906503a02125c8d03c9b88a61ea46a05a
commit 322d716a3e8a74fb75cd0f657647be4df253fd2f
commit 89d8445e4f5cfaf5c017c0bafb05f8bbaac59bf9
commit 31d7c3a4fc3d312a0646990767647925d5bde540
commit b418e7193965a5f064a0e422ccf25e6203f265b5
commit 043dc33f443fd7abaf3fe076897503ce3d5dbc26
commit ac9287055ff16a092416c76a19006764e4c6a978
commit 46c1282e5a31c33a6973affbcc765eac1f3f5d1c
commit 38be7796f310cd2bc84dcc40c4fd1964df39a5b0
commit edd9038000352ba846cba9dfb84d8c397c3b6499
commit 0db0c0379d15cd811214bdb631a0b6bdcdd22c84
commit 02527099ddc74244b9d94c93ec54e123fcee5899
commit 1ba91b54a9051205c2110ed43a7dc5650d49ca0e
commit 550e5d23f14784e2a625c25fe0c9d498589c9256
commit 9fa8cc0c444562fa19e20ca20f1c70e15b9d8c13
commit 3af470cbcc9f40e47fe9b16882f60cd20b438095
commit 8a93c691248e7ff2b3944107a1ead2671b6854f2
commit b185c31847856d9fa3008f727a824db163df0801
commit 445d85e3c1dfd8c45b24be6f1527f1e117256d0e
commit 93aac179a44be000aa8a025963011c752c23d92e
commit 267e2d8e8e60ed59e74cf888f6b74bd5202e7384
commit 0ba4a784a14592abed41873e339eab78ceb6e230
commit 278d3de6754e778cb676b7e1b10782eff1971010
commit 8f3589bb6fcea397775398cba4fbcc46829a60ed
commit ee7be8f3de1ccc9665281fe996f9b6d45191ec1a
commit 9ba90d760e9354c124fa9bbea08017d96699a82c
commit b058e3999021e04cd16d1e487732e20ad1f4b4f6
commit b5389eca7b39026452dfc1d2cd5b05448c631298
commit 5e9252d8415f50095c854c85cf9ebcc894e9ac0d
commit 7a1187eab0111ac52ec216f2c18cb7822fec4a4c
commit 1068e987ad0be83a109147fe7fa0891700e8d80e
commit f477c7b5ec3e4ef87606671b340abf3bdb0cccff
commit 469a62938a45ef382c9cb7b9fec6c6c1fcd781c0
commit 9c25ab167df412a5474dedfd0e7743e76bc89cbe
commit c8cefb99fc811304fff9590677994531ff0ac992
commit 87f0c16e0eeb672fb888b4e173edff0252e02757
commit 1938bcdc4b530d6413e03f238c2df56f99f17220
commit 5a096b73c8fed3a9987ba15378285df360e2284b
commit 612c5ad50c3e5505e674b7cc50bf6527bc0adee6
commit f38129bb081758176dd78304faaee95007fb8838
commit 179661ad45cb18ba7702ebafde5f22aea47be5e0
commit b91075866e58e6b073689958f246834ad0b2c79c
commit 341ad0e8e254267704e0b87e35ad23aba5c02359
commit a161b6dba6e0e8132921a6b948d311cdf67f3476
commit cec5ccef85bd0128cf895612de54a9d21d2015d0
commit bca774c387548421efb5b533434b8408be0517b3
commit e991b5244d89096943af7dcd506faecb57b9377d
commit 47d8b3029684ce257e23022286b0861f72ac3f03
commit 80ab31799002166ac7c660bacfbff4f85bc29107
commit a03f028542779fbdb0130b6a5e15445c94a859e8
commit bddc18913bd44adae5c828fd514d570f43ba1576
commit d81268ee1c1073471cf0e8adb0fc9d026b602c3b
commit 1b44019a93e2bc6088d777b3d3072df5f40f9324
commit 655bd3b954cf18ae4e1ff69ebbf4a20b562f580b
commit a7fa1537b791cfb2ea3895ac448ab1455a4405f8
commit 0602d59376d391c460925daa3f8ba2b286cdcb4b
commit e0310564a7e31d7359a6831226aa9b559c6728a0
commit 0ed9208cb120086f1b600199c548f00544406fa5
commit fa83c12132f71302f7d4b02758dc0d46048d3f5f
commit d59ce1ff8e6830fab60b688f33a89ef48c94b5d8
commit eee44c2903e5222632536f86ad5cf0ff9bbfc61b
commit 99e7e3b60080d913ff2f94943f4af1f1b76a1c06
commit 55f9720dbf23ed640a51ea5564c22305efa8a467
commit c73bd1706c0cdb5627d312efdc656baf48e0247f
commit 0be05a75de2916421e88e0d64b001984f54df0bd
commit f0038cffa843697501c442eff4468e3ab37031f1
commit c5c51b2420625faa1f0e363f21dba1de53806ff7
commit 62618c7f117eedfd99b2f857885ed004d31df739
commit 929f527a7b70a5a7810f83c5e8941657413596c3
commit f968a25381acbe147c675fdd7a048f170e6cf44b
commit f1f9e62737abc4b6481a9a814526bd3e2cfd4d2f
commit ac50317e2659143bd1111b1785b5c0fa0ac1f6bf
commit 237e7be0bf57c2dd36f074d3b03a3291db3b3abf
commit 73fc3abcb79732c2c9d4745d61b6859f587f01a3
commit 7dee06bc0ff5ac7341ee3cde8161e58dc43dd9b0
commit c0f3faaf936b67e124e9159fb1223a689cf9e15e
commit 6f0423b06a0cd55133bafb7a69fd2ac1ff7a6750
commit 4366750a0d2d587ae8335944d723eb43a6c0d94a
commit dac6ce66db3e3bdb5dc66f6713929b125612ef01
commit ee9634282d875083b2a172f0181f5fe6be50c524
commit da3a99afd2575e744fe52cf661ce3f12feedd675
commit f60500f31e99fe5e641071d2ed4a8164a8050701
commit 5aa857db54ad2e963d65e234f7e4c183cd89c993
commit 1324680a80ebf6eaba112bd54efa19e23081797d
commit 03877d621db082610c9b7602c6e8cd6ebcb75a8f
commit 860cf3bd715b3455e1c708386e773a669a2350ee
commit 725859b98a8eeb50c9a711b323e0cffc367873ea
commit 629f59ade8fc399beee839cb81369510c9c982b6
commit b049132d61336f643d8faf2f6574b063667088cf
commit 684ee005d670a1b6360ba53db24b808f7584c89b
commit 44e36855bdb72cc2ade0153dce4a08a5b830a3a6
commit e4730ae44240ae1a2e247bfc7f916813567acb92
commit 8a91b29f1f50ce7742cdbe5cf11d17f128511f3f
commit 67f2dd9f38abf4d994a5bc5131ce684e594d66a8
commit e1172b617a93c2133750c4ff586f20f46e1e42c0
commit 144c3f7b190981a659b8fe9179ddd1f46baadee7
commit 28487ecb96b0bd1ff27a3e8ae8bc027af6e448e1
commit 9570b039075192923d3bd26a7892a708eef1a483
commit 88629feedcc4678ac21991a1154477d1c1dca19f
commit d7b7332c0e9901ec7e6e73ca75b6c4cd398d5aaf
commit faa19ce89b0b2eb91c37e2c26b6be93e2e2cb47a
commit 9c55105be0a78942328882224c23965483e578a9
commit 71ca9b87a72bdc1dbe434d25c97eb14be58b4e00
commit e798a3b30dcb729fa9b9dc88de00984dc1f5aa04
commit 1f5cf999bedcdff85f84b7dc4d780cbb515b6c2f
commit 3a21c6b4298d9d0c99c8dee28edcf317d68cd93e
commit f05e526e44cb11e70c5b7d8bb55d7e0c6fb10990
commit 1c519e0628f19e2790ddfa4cb512921047e8f65a
commit 8802628237ac73bf5a6f878ea0cbd8a4c39a55a1
commit 7bc30374f84c5588c952e47248595b1c38d06906
commit 70b9933c09b8687edff5c2f833dc2a72c1b40362
commit 8b2a7394e51d6a49edeae8fc640b8c23a4ab649d
commit e7b05d95cc1bfa1e61557358d936ebb33b0ae4be
commit 8a9bf29546a13efd3ed7784b890c2534e995348f
commit 31cc65b4c7e37eaf645be2d5fdcade56e3fdf8f2
commit 4883c804fc794dbd9f9668e73b3d266a52ae6c0c
commit 33d233f5cf9b9f1ce8f38480c45317dc0eecafa2
commit ebb4e2b03acc3a9b58a8bc32b239e6af2166e84f
commit 576032f2b3db7ed5994a165ca0e4b6808c637f0f
commit 6ec91794ce4aad0e92a16028885a7b139fe363ae
commit e62206682a2f51a8f4d37a204791e5e8ae4d9eab
commit e971121350e72ff34a0c1d140127703cc2c085c2
commit 08272a5a41876af38209def142de272e580d446e
commit 9d7fe94d35522115734b3c2c37cad3257c88c43b
commit c6948d8c221a8a61ebeb69567fd1a6c820127b53
commit ceb0cc3b428825fefae0123d2061ad3e06e2a0f7
commit 1d5b09f8daf859247a1ea65b0d732a24d88980d8
commit 83ac5457998ed464032665375dea56da8776a861
commit 51f7008239de011370c5067bbba07f0207f06b72
commit 9d0e3cac3517942a6e00eeecfe583a98715edb16
commit a04d27cdafb1caf95e6dc15ac72374c36e38acad
commit 68910c2a903d518b3f7386901cf0d6a053d1c028
commit 9cca0fe329599109ed69e3c9583a8c4287feaf9b
commit 523156799441f2625d4acbb0ba0904128e06622e
commit 5814227de13333463ace7146d2455ecabcc8e657
commit 1dc565764dc7a4b6477db0bc0202d26f74ad2a0e
commit d41e14fabc16043664f153b89d3d5d26f7069ff7
commit 34682d6006ca31e8a4961104dba15d556db533b4
commit dafa65d185fa0e946e602b53cb7f9694b7584456
commit e541022b1ce2fe598b90cd96c88cf6fd2f7550d7
commit 75a8aeac2573ab258c53676eba9b3796ea691988
commit 6a4020b4c63911977aaf8047f904a300d15de739
commit ffd2e4bbea626d565b9817312b0fcfb382fecb88
commit f9cf811374f42fca31ac34aaf59ee2ae72b89879
commit ee18698e212b1659dd0850d7e2ae0f22e16ed3d3
commit 77a089328da791118af9692543a5eedc79eb5fd4
commit 3666aad8185af8d0ce164fd3c4974235417d6d0b
commit bac7842cd179572e8e0fc2d7b5254e40c6e9e057
commit e4a5e4442a8065c6959e045c061de801d545226d
commit 6b8bfff56b2140396fd28088ad2dca4463aef9c9
commit c354feb5895fe80fd3f896443015cf53d5cf98e8
commit edba77891b58a1f0626daf8598717b8efb307bc8
commit bef550c952a71df6a6e86b11bdac5b10dac29163
commit 760133d42f0adc92b8408ad5544c98f8aefbc75f
commit b18f1ecaaf4aa8704a02de1accf8c94fa06f1ceb
commit 8ddce13ae696bf40397eac7ba2e9003113f94030
commit b8e392245105b50706f18418054821e71e637288
commit 00b9dd061eb31c8619878f187e509eabbbdb681a
commit 0da6bfe857ea9399498876cbe6ef428637b6e475
commit b9279e9b28bb8754495f66d70902fa35c8fa7f53
commit 4a9820343579f65635500d9f9b268ec6d07496e0
commit 1ce76fae2bc14dd776b0c237456d8bd117c0e617
commit cf7f8c671c830302bd382ac640591ee3d6381ad3
commit cd0755508d81736d026bc25647a89dfc79162d95
commit 04408952fe2aa60db266cfa8f6db22a6ff3e1971
commit 6a98a6e40fdf0e105b5f25a58641f30901acdb34
commit 5b8ff071b57e0a50a0e6eb8db55d159a68853f6b
commit 6fa9df2b5e563674e0b22d740e27b0df8960ba1c
commit 3312bb4ad09ca6423bd4a5b15a94588a8962fb8e
commit ff32fcca64437f679a2bf1c0a19d5def389a18e2
commit dee23b2c9e3ff46d59c5d45e1436eceb878e7c9a
commit 7e8ba34d357127e2c93f18123d09b5c817156512
commit 8bb7c7bca5b70f3cd22d95b4d36029295c4274f6
commit 413d2e2fd052c57e66ebce988882fb58d33966ab
commit 9f8c1fe320e8014b1d2cd0d8bfcca299223f7604
commit 0cad796a226997e176c71bd4e04a3d426ba4fcc3
commit 5a0fc7a0df6b3525bf3b33fb27eb8d47f7826dc2
commit 3d7af6cfed6c2df11388b7ac0630ad8015f9e915
commit 2bea1d7c594dd0643db23a8131c689384d0e5d8c
commit 5e352e32aec23570ea948f039e25faf9b9ba362b
commit 9275277d53248d3f529d7ce66a6954241ae4d5cb
commit 685282a3b39be5be000d28c8b88a3e0cae195104
commit d6bf74de0772e233f97a82cc4dad2ec14b14fb28
commit 5adacf19f6c3fa7d6119878246e9a253867e14c9
commit e5e1e6d28ebcc0fe52567b1301c23f05d4c79df7
commit dc9ac125d81faf4761574a9f613ebc8eb35717e1
commit 99afb7cc8c44578615200ea4806b183e1e35a81d
commit d1da138f245d4fb46b21d2ddb19504a2831d813f
commit 9e134ed720b6e69a5c857743daedd403101ca078
commit 41e65d8790bd96d1caa3cb136a57ac45a131e66d
commit 6e4e9fbd5ba01eed13cb086ea645f8513370761d
commit db2ce1ab0508cd95efb4be938a146472c56c9461
commit 8ba3ba992fc2e456f4211ac4dc80dcb7775e722f
commit 6986f05b557bf1efea5bac8dbdffb7ee89d0cf77
commit 3631c363b7c1d203a84d35e1f3d76160d8bd1961
commit c7c12de893f808bd7c1215fe9056262295e5203b
commit f2eb43f0b8c25e58b299ae2593d805c35c98f82f
commit a44bebf6afa8114c1bf0f69f5623b7394737a0c8
commit fe735c34ef06a1d08218569370875967e337608f
commit b8e6185bcf5cf41c0195d496bbfe48e5f0ffb3a6
commit 6b9bd7c35d32be464591ba704a80ab2db4f2ea4a
commit 621b6783c73100067c844c3be0b254c2f350e8ec
commit 0f1cb4d777281ca3360dbc8959befc488e0c327e
commit fe7f4e8d496552f880d7368b482d2ccac33780b7
commit 812562b8d881ce6d33fed8052b3a10b718430fb5
commit 8b25320887d7feac98875546ea0f521628b745bb
commit ab87f558dcfb2562c3497e89600dec798a446665
commit 08d8f43045af8589671d4462190d27765653cdf8
commit da38ba98645d789ddda2a584d40e2de00139e98b
commit 2b874a027810d50b627408f51c59b9648f778a19
commit 4c4279a8d58d146dc39b150226ee974652de4eef
commit 415beb1fa63cf06e3b696822e94f977171921a2a
commit a6d82f1b7ada6154668f1b5ff751a845aa540637
commit e45c5f1ad76968798b62add0396f85d9838aaca2
commit 728cb3f061e2b3a002fd76d91c2449b1497b6640
commit 81d6b37b69b8b5d1a4c81d2e208b41888d4283df
commit 7eeef32719f6af935a1554813e6bc206446339cd
commit 0694cab1d5a425139d9cda08332f59fb79248ff3
commit 7ff9a17e372e5152a77ec657949a3c9250720fa4
commit db4069fcbdc5c8bc03424934a3395b39b71d9dc6
commit 3ad41442d7bf5b3af0de927e14ed92b39da68224
commit 26281d3597254546161fb5d1dce80e1111a282fe
commit e826839e18b77edb9be622a505d34e883985df48
commit f48eab29028769bb83e5fc9ff0b0ece56b1ba5b2
commit 9031c6d4f78a1e801695d0c4d97724455c6e2a61
commit f45156ff18bae00ee56ed6aa2a937a8e93e56d7f
commit 7e4460c34b011ae15a898256ad0682e3f34a94d1
commit 60ded7cc86f363161e37dc41c548b2ab3e1af5ce
commit b61fad5f7e5d859d95a413c3a57f59d007951fa6
commit c598c335da420715670b1adac846e4f3ebd01e40
commit 519ce291168af247c7c0fd122c754b74bcf08117
commit 6197cff30df44e4db85fed545fecb7df00ff8cd0
commit f6eeea8d7097a82d1460537146dee670d5014f13
commit 788557fb23702dbd21767a69894a53c1aa58bb60
commit d705a8c73acbe523cb602228d411a73f288bf34c
commit 1ad797597a80ebe1c62b12403460d71e215f417b
commit 86634ba3dfc789497805da3d5774fcc1953cbe41
commit 9c3a985f88fa4de82bf4bda906095ce6444e9039
commit f47d6140b7a4c858d82d263e7577ff6fb5279a9c
commit 6f22587c915c34a4ee02c314cfdb708b11b5eafb
commit 615ed9ece01814a94fb544226cb3f4e03f06851d
commit 25e7976db86bed5f1826bdd5c59e5be424a9d91f
commit 5f12c8d0a761af5dda2e798b1af56ff967442b83
commit 1a365a2b24cda48ff8d441e91663a6c0ab1353a9
commit 33a86170888b7e4aa0cea94ebb9c67180139cea9
commit e072700869dd96405a9c3752d3741a79bca6e2e2
commit 3655c5900f4d49881ad09e3893e5f5516b06a9f1
commit cb7b04c83e9006c39af6d806761fc628573920e8
commit 234fcb978f61f53bc05c276f6204332fde2b4951
commit 25553494b275a1a4cf06e4a7aa4073817cb2b846
commit a8c4b36ecac1d71bfde8d1f64a30ce694c4fc44d
commit 169219213c144abf0f2cc86886df218159dbe4b7
commit 2b470e5531f57c1b9bfa129cca0ee17a2ecd2183
commit 9ff6b5256de3843ee6a2ee91737554d96852963d
commit 74fe874cf1407d4731f0a2c713d31ac78a5b32bd
commit e3290f883127159e3aa7957f30bd4266602d403e
commit 3b292112f075db4810a556c4538b772e655fd4e6
commit d54fbea3bbbe04cdc944db94eb11c8bda30438b8
commit 861601ff7f757f34f0584dc1f78ebb7a1f541e77
commit 6810bb390282bb75801832f31d088236503fee89
commit 937859485aefed1d9df72feb6ea74a84ff5cfa46
commit 74629c49e66cc6d36c46ac4e3f059780873ceedf
commit 504e72ed3a1b1c0d4450712a42ae6070d3a05a8e
commit 79802863a01999bb90c790f8fbc80c5c2f9c8fea
commit cf0c4bc9e4e132b1992548ca8db30ec328b45403
commit a644fde77ff73ee54970c0fc5a64cf7624c8b5b1
commit e367d3c45158ba34bb684227d87c52d8d840fd67
commit 08322dabb5cbce75e210d8df4774fc078ed7161c
commit da5d51672874936c08810e63d6dfc670263d5e15
commit b319cc594e666061b22331da654606b92730343a
commit bc4be0a38b63b6d4d00a58b10e164f56049be2c2
commit 906bd0fb137ffc361b3ce0d0db07f288db5582ea
commit 0fbcf57077c47b444e91b9ce8a243e6f7f53693d
commit aa25aacc3e3d1367d6674763a636a9fd5ffd12da
commit 1464e48d69ab7a50a377c9d39f5e5eb3cee2722e
commit 37cee4876a45a5c3da79a83d34ed4f3c68548aef
commit 7a2280e8dcd2f1f436db9631287c0b21cf6a92b0
commit 6a038f0183dd5d3e289f6c1fe6962de9b31f8fd2
commit 5565a8e1a09a3ed2ac438a9e4f4c84c11037611d
commit 9a2cb1b31c040e2f1b313e2f7921f0f5e6b66d82
commit 05aa8e0135094ae3d1e6837b5457a740266d7cfc
commit 5af5169d758275490ab00e209a09dc1d6b85e535
commit 3f09a0cd4ea3b9d34495450d686227d48e7ec648
commit 376c25f8ca47084c4f0aff0f14684780756ccef4
commit 686b21b5f6ca2f8a716f9a4ade07246dbfb2713e
commit 18e0deeed8c80d8ec0adfff3312252028739ce52
commit 69d439818fe501e8c9e50d963a53cb596e36f9f7
commit 12e6f6dc78e4f4a418648fb1a9c0cd2ae9b3430b
commit 95c08508e237ba2444786581bfcc7df1ff54c35b
commit abd686b8c38a094631884aa7b8cb04cc32b6608a
commit 0c14d3130654fe459fca3067d2d4317fc607bc71
commit dd9e329af7236e34c566d3705ea32a63069b9b13
commit b8887e796e06b1de4db899f49d531d220f94f393
commit 1a56fcf08ae463a4564d111356091b2bdb6c7bce
commit a617b33f7e513f25becf843bc97f8f1658c16337
commit 54f1a83c72250b182fa7722b0c5f6eb5e769598d
commit 33d8d14c83bf67aa0d262961a6fda9c40f3c1052
commit 171b3b1e0f8b8c894f2388e1cf765a56f831ee5e
commit 89691775f5735fca9dc40e119edcbb52a25b9612
commit bb0e13b9e223b218c9f242f8d340a332b4381042
commit 410bb21319f69c2ec28aeafe530d00ed2f6a1c54
commit f24b49550814fdee4a98b9552e35e243ccafd4a8
commit 35c812050ebdfe5ce576cf04d1d43d02dc2dfe19
commit 08264f85c5c05ecc38d409c84d48cfb00ccd3bc4
commit d9ce4e430790ba4f45e5febd7b4bd87b0f23563e
commit 2587c63aaaf47f6f4ea9d90047910534a3ecf432
commit 78776086371bf8aba4314a52a46c52d946984c61
commit 47d56cadb9e28da5b1bc5bad7e15120310aa118b
commit 992b8fe106abb6fe4a1583891e686c6aaa70f70e
commit 7f09a3a09fb7e8a809a2eeef2b6b0c3e4f54cd52
commit 85d712f033d23bb56a373e29465470c036532d46
commit 11696c5e89245a1d360f75be3dfc4960b25a265a
commit 5945d8b9a8e2501b0046ec34b12ef9c115bd77e6
commit edfd93e60bf29668a84cbb7ada848060a47cb940
commit d9911020ca0e1354b4169b5bd8dea9ff123253a4
commit a5606b94cd3d843b424a01e061dd0cadbcb0bb8c
commit 332af828ce78f9c49c65ff35b9fe171060c9d045
commit 72a597aed1d9eb9ce21f68e4284ef3598d67cda9
commit 401e6cd974a708d4c191fda3bdacd6a67c5b30bf
commit 5c8ec987997ab444df18813e0a3f565f366d05d1
commit 3e36c490698660ba4fa7cedfab03f3ed81a07192
commit e2a9f0a32464f435dbdb190ff7dbf09745703b60
commit 99304fd0050314a0c998c28300393ec574998db9
commit 6eb6b6f0a012993070b26dacb5ea1ff5fc233c18
commit 2ce977df10c179138e2723b25c2d2c055a3e3cc6
commit 88e9664434c994e97a9f6f8cdd1535495c660cea
commit 84596e1ab09a2a2d4d4898444c01ca08b64cb7bd
commit 09a36015d9a0940214c080f95afc605c47648bbd
commit ab12902528f414cbb68d0da2b0d518b0ef10e696
commit 8ed0753b527dc00e759ec1e9e46c0ce9240c0f49
commit 33675759a5fa150fb2815089fefe8e5d039354a6
commit 7fca1dd909b3c1a0d7f2478fa939880d7b885491
commit 6ebf23bf5ea3ba541cced9d7dee782c62f613f9b
commit 859cc65f4d97e23cc4388f6e3bc12f6dadef4aaa
commit e1d49d763eaadce0332add0d60e5a73eaa08d8fe
commit c51b36207c04bad501ddd47a3d3fe0dbfd611474
commit c6baad68d4e9e5c4c085045c70b99352d4825e05
commit 43049f17b5262826ef64a19762a096782398ef8f
commit 3355f4ee561da6065cc756bf54a3f8bb556889df
commit 533950d32d292cc4d0cef5b85af57948b8dcb11a
commit f4a0659f823e5a828ea2f45b4849ea8e2dd2984c
commit 29c6df0d942454cb43334cf0e36de068f4124b94
commit 1bc2ef065f13043bbefc927e6dc99c82b56ec037
commit 8716a6473e6c50a5c335f6fa7d6b73779ecf6972
commit 4722e2ebe6f2168309b285977c5c96baf910c57b
commit 1baeef6cd2229e01091c69cef042f6b688e194be
commit 0374ffa507d8106202a956f5951226f1d9eac22e
commit 3d35ddfb07136cb4220fd9672589dcdf5c9d4acf
commit 28da4f8336083874699defb5016cda3015ef2723
commit 7ffa2f27cf0aa1a89bea7fdacd9a51668ec32e7b
commit 9fe2a4adc09567e32a5ecd4cab236022436a16c2
commit 7c1000aae5521ea4fa027b6ddf6aa9d4863e9c29
commit f2f9c8cb6421429ef166d6404426693212d0ca07
commit dd9f377ae12110fef29262af23859d144a613bfa
commit 6c46f644cd5aa5b2b18020bef83d67101a98d873
commit a036aa1f01e7d1321859613d85570720f041cb07
commit d60d2bccae65e9f85016ca4d6f6ad169c86b1024
commit c1c9042b20031aa4f86f60bba8f04e304bb9f72a
commit 27cbdc6bddc28cdc2a91e24d1ae91405e261fc2a
commit 4d4de1cbdb26829615d05e6b556011d308880e82
commit 5c315434fdb6ab43566e6e0f6b9528bb0ad0aca9
commit e788ff7ee3b4b7b8ae534e605154f50dc4443a40
commit c7b5abd3e030718b6666cdf766f8905b006a9b1b
commit f917130f19fe62c6688cc95ebebfafee3e005958
commit 5a3c46b809d09f8ef59e2fbf2463b1c102aecbaa
commit e4812ab8e6b142e1ce19b50fcf744e20ea9adfe3
commit eba57fb5498f2858768321e64570caea188455b8
commit b29a20f7c4995a059ed764ce42389857426397c7
commit d922b80b1010cd6164fa7d3c197b4fbf94b47beb
commit 619a06dba6fa38de1b85c09ac74bb8aa2449ce0c
commit 9ff17e6bdaa50892dd9bdb1b116cb71b73dd711a
commit a272cadbd8834c06cc2e34213202cc6be2c8fc19
commit 013413cdfeec53e06c43a239fb4e06a39ffedce3
commit d58bfcd4ea9910f59cf8327a36603e214e631b12
commit 19db2062094c75c64039d820c2547aad4dcfd905
commit 3532e75dfadcf52f8cb56dbfb6bce4503c69091f
commit 93a575ab15332e2037d35744c50412b40e6511a4
commit 6a9b6c4580af184f1f8744ade1fe1979e3da05ac
commit 98d2722a85c4ad5f2baf2272cbb0fab67f797b69
commit 08872cb13a715e2e963533f18f4aec2bcb145201
commit 59c8cd3ef6d04923e74dbef6e8cb4cec4053a99f
commit 744bbf2a67e7798118c39cd6652a0e1e4ad86498
commit 2d0cdf6020549400d93a3f56f09373ece71c76da
commit 718551bbed3ca5308a9f9429305dd074727e8d46
commit e894b724c316d9b45d963f929c97578cdffbbe8d
commit 412fa1f097f48c8c1321806dd25e46618e0da147
commit cd65de1ab2fe4b99ec20861182b7c24d26559f48
commit 419491eaf1ee90b83c260c32b6c29b1d96c15ce8
commit 1b842f73edbb1f8513ef4a89389176c628dc014a
commit 13cdd12a9f934158f4ec817cf048fcb4384aa9dc
commit 8690be05cf055e0c68a7e151530eea8bda0e601a
commit 47e157a5b49a4c099daf202207adc9815a2f2916
commit 3ba39084d6fc5dd4db321b367f8bbd46c6ea90ff
commit ac12d250e9889e1f3476b96931dbf07ea24f5f52
commit 1fdac123ab01f1e5eb91a34e6d8a60858f5927ea
commit c294d37eb4554d3e40f9fd66a54b5594028a0ebe
commit 1176a905dd64637b34b7d2cde8f994ff5c3d1644
commit 41b611db30143e77bc1d7f066f1954e9fbb2cdfc
commit b3343230ceb571be927b273875af6d8282eda2e1
commit 927fc4a015937ecdc5de04c144963aa6a57762a2
commit ab438a61e4c3675e6077d232a67284328777d929
commit 1032a491e2b5fc9793be31aae2d9e207975a1e7e
commit ace873049e8cb543f00d8393dcad19711e7ec969
commit 84f9c3c73b9a18a21ea13135d4e850fcf7629f59
commit 0a2f6372a43ff5e948b8b10be34d4473f6c2ef6c
commit 81b1b599dfd71c958418dad586fa72c8d30d1065
commit a9da8247627eefc73f909bf945031a5431a53993
commit 9831a9d1841fb3188c46a13da30aecd96bd1bae6
commit 626765bb4b2e732e9a1595fc801f696dbde12db9
commit 39bea0ff0f7470a5a812f50b2485d2380759e19b
commit 88d0ecbde90fdf5b78d702f9ec9711d60d35004c
commit 463cc9402e71deead30bd85335c56a98a1c1c462
commit 6400c215a1c19e40bab513b20d35780e61b291f5
commit a5819e51912292e16f14f4c014c384f754002e5e
commit 4c4cc7ac207f56ed5db5272dab4169d2d40e418d
commit 9cc31938d4586f72eb8e0235ad9d9eb22496fcee
commit 589f4924e815559282e7c9f2854cd6b53ee9d6af
commit 5e0bff2b9690c857d3465d90015fb30fa4947ffe
commit 24335848e543dc95c9e2ffa0108d879ffefd0442
commit f645d22b93d5599fe47ce587ee36931290ba5778
commit 3fecd469da9aa0b24bd965f05a8bf44f9d8e2a2e
commit 92a3a9b1a3997cf67aca7874e7f61b102ea2f27c
commit c9b685df2d2138aa31399b0d146ba095a91c7846
commit 7f4f4adb9ba1d9b292e4b3ade0235be2e5ad5da7
commit 3867497d64cec53195e9de2db1118af4610fb9fe
commit 45365b6588b3910c1699d818d0bf3e4c514258c8
commit 959294e47953eafd1ddbeee362827f4a8aa07377
commit ba57b9b11f78530146f02b776854b2b6b6d344a4
commit e94c25567c8519b770985cc86b652b06dce807d2
commit 609d830048fb00d4fdea59fc9d17a8d63fbddb4a
commit 960e27a5741cd3001996ff6ddfb3eb0ed3a4909d
commit bafc31166aa7df5fa26ae0ad8196d1717e6cdea9
commit 489763af891d5dc35c0b64e18af284d6591286cf
commit 59e9fff1983eaa9f226699f66f7d58da432dfb16
commit 27e6be5d753687764c852af6468c21ef0624022a
commit b2edaac4f2fb4866c3f9b7be5c39f518fd497a3b
commit 1c312e816c4088d183c41b5d944f89775f3789bd
commit 7e5b601008e781231be77bc8e1a84516f069983d
commit c953cf040687992cfa066acca7d1c12e25fcec3e
commit 4e004146c0bab0c05d66dc648593e8b7ec3d8df5
commit b94f1cc93db72078ad2da02adf1818f5e9122cb7
commit 7a4685cdfbdb94f1cf5ea2ddde824d94bf414708
commit 34305ac364dbee1b8e4e5307599c8b9afff0b01c
commit 3c4f6507abde5c36e892d63b25296fc6d9b13285
commit 1d74159021e9a4e58c422f0b91e2a6fcb884c54f
commit f1f6f48a338cdab96efef712dbef6b1e279583e2
commit 27fb73a0e3aa7478bcb5d2d59d65eec3c68fc165
commit 64e2e71737acad867577deac92c1bec62e8b57d1
commit 9f58341d63bd26e93cca66e9e1ca850d3c40b0c3
commit a6f7baa387a32940e364978f72c1c150a29a219d
commit 04b3c34f5cb2994a5e466659ea4aa962c0fc09a6
commit d446127107e8185c2dc750cd4d0c5ff697a694f6
commit 8fa76350587b6deb8a95d83f9cb23ce7599587b5
commit 44407010ce7f524e4f68aa25f9250a9cf9e4410c
commit 9420a034060a094874091cb6c6257268f08a1999
commit 435af0b919bf9eb78f4e05e8596ebed9ca7885b7
commit 6ae869b9b62534eaf04f838048338bf150bc6ce4
commit edacf33357b8576db3198e4ae41bb7e6cd41ce4e
commit f14c8c3e1fc9e10c6d54999a96acb2b5087374df
commit 9ab367f838a692843aa21b2ff43ebfc3bafa7175
commit 5b7bee5b445785a47b781e889e51219ec35d4407
commit 9749a42db74c3400e0526d9a39fa0324abfd0d66
commit 4dfa60aede755814dcfbc9a05008265d827cc98d
commit f835a571ec998b83c165022795f9385f9335f108
commit 029c85adccb2e23352f622394288ecd133449332
commit 124155c0bd4a4ed822c1ba246bdf5123b42c3ad9
commit 6d7d0a4bc39240a2dd84d122d4ed5487e6acddf7
commit 4ab9d5848c728e5339e382f678a5e580573b3a3a
commit 1156e1a60f024ce29fbb88dd330c2be81c4303ea
commit f39c25357f0c9ada9ed9676eaa7681d4583dda63
commit 83033f72a40b5035c78f847fa4cc55fba633b82a
commit 5a0510d58b635ed5bc2555ba1255cd2b34e033ee
commit d78e816a3d615073a48bf8cc438790bc08160e0e
commit b848fe65f856193fc4f567c84f559f60ff66a3db
commit 42cdf6f687daa1a1992db400e8311e1e49c787fb
commit 45b54a7dd3437632352ed28163e982233ef190a8
commit 2dbaf83998fe4772c83e5060cfbc21808758bb4b
commit dae343b343ff741d727312b2a9b03d86e64b31c5
commit c6fa6fe9ebd5cdde0e41a558ff3efea8fe988e77
commit 09d8a67912462a07cb7ff40956ed8c79b1c74564
commit 0e768043bf68dc9713de34780363c595e54af7fa
commit 9e690184586bfb88efa176cdf912414f6c53519c
commit 967a66396e4668ef314e06a0391e67aa1cf6d058
commit 1cfb4d6121276a829aa94d0e32a7f5e1830ebc21
commit 29551fd90ee69771f499071c1119c1007febbd1d
commit 0e5f625157ca47d9ee27a36310611964bd97c605
commit 7a6a2e59aacd6d5e75927352b72d39a5bc447e09
commit f4409a2361152f3480781a1dea1a3bd0d8369c78
commit c0c27428903700d86920394aa2302506b5d95b17
commit 4667fbe2f7c54628c48aedc8c8472cd12a5f7fcd
commit 1ffbc89c302669c95779c1e6b0901380544c9bb8
commit 738b3469f8e12ae72555ef4724bebe8167a93e29
commit b9274387bc2a4cf54b02e039b6a0aef5dd5f2936
commit 9e72813f69b178b676a54c4d6b24d3e84492b61a
commit bf7fda0b3736f93ac8b18e7147e1e7acd27e6a19
commit 187916e6ed9d0c3b3abc27429f7a5f8c936bd1f0
commit db5dcd476eb0288cdfa781725582dcf9bd747a6b
commit 273f47997718fc72d96e5a4a640538c00575fa7e
commit 62cc621604a466ede81a125a2ed63e05695a48cc
commit 84f14428b1e0d1f61776c5fcfdef181129533e0b
commit a00e595207d001432a85758954c3a6f6a9896368
commit 807a1c14276b6ba6dc7efb4784ac35bceea1413f
commit 2f48965bdc02d781181ee4fa3d5b3cc168e6d9af
commit 4994d1f0a754cded0afb62c4753d00760ddca511
commit aaa07c0d08a37bf72cd73a3119ff99dc2bfece74
commit eb4f01784ec1d589629dd8c85044b7c07e5f6993
commit d97b02bb9c7aa3008d473d11001e1b45b7e0c7c6
commit c488a9370d5a1da71f7683e0d6da40a2ab0f1be3
commit 9a06655e73834819149466ae8170ffe53b23e6f8
commit 3fb9dd5fef7ccd756544713e6e84db1c525816c4
commit a39b52c838127a42c57d5e080dbd5204770aa80e
commit ee30b8001cd85ba0ef287b216eb1dad58bb58159
commit 1d6ecab1ac0fdff8e62ff3ba506b606177010d08
commit 6d99f3f4ea948f26b074a069c0406dd7f1cb0d8f
commit cabbdea1f1861098991768d7bbf5a49ed1608213
commit 82ad22bbad008f84ec52208c5ba2c8f1cf55fd8d
commit e84e40dcb3fc972cbe41d228f1e45128285e0c47
commit 17d62410aec363ec972f532fed5aba89b3f59ae7
commit 6e87c4229513904295674b84b6e2d12951567191
commit 3083b1007d4b8d377f8e2b5ce349a275a2fff725
commit 572773992e31e0e31692adf6797a3bf7e094097c
commit 1d8355ad922423c9f765a644ed04526a6273d9ee
commit 6ba5a269cdc9f447be882bbf99548361c8ebc254
commit 9c384ee8f997d0646844cd431f1c23e6dbf84a98
commit 1a4bcdbea4319efeb26cc4b05be859a7867e02dc
commit d205a800a66e46430ab93c0d450393233d39931a
commit fe9fa3859b66caf4a6923598c8e343b8a32ec5d1
commit 50a32b8cf4d7624eb8606b4cb7bc6dee37703da6
commit 3a31e8b89b7240d9a17ace8a1ed050bdcb560f9e
commit 629b8ede8b93428b8d124d343b5fbb57ab64d5a8
commit f4caf5842652f08e024741ef6d423cb0c101d863
commit b35ce49ab9ca2bc6a59d4441efc5039de80643ce
commit d9426c3d9b4e91dda4f1f1684f9296762fafe0de
commit ce8a12a532ed62d7037be91c5714243fdfa9f672
commit 3566938b3491bb3aad701b487130f3efc363e2dc
commit 98a54e88e87f7291d4bbc6ec646c498f64ae042f
commit 99951878b048e39278bb05d96831353eca23b75f
commit 0fa49d108386c201b5c2cce68066a9b8f66883a5
commit 62e790879efbf09edb9f262d5eb7765aeaf89809
commit f544afac3f34124088b981c63843a3cc48f4ee3e
commit 9b4fd27601fbe7f77e7f8a8ca226211ef748844b
commit 81283fee15ea6afb1e32defb369c3b96d2d6765c
commit 50b8b62ea496c615fb08ccc8a6fdf1891af75d7e
commit 76e5e4c70160b3764db6093b3366b36e4466d727
commit e684e654eba9481a9f462a7bbf5c385b7d1c076e
commit b889ef4ac98837838c38f7b9f72bba2f33ee367d
commit 380302f8b894a11fcd84a08aadf6a858eb003b0b
commit b7179fc29f50d837090d7b0c1f224e3a116cdcc2
commit 342397db6d09068e335d42a97e0879b7f5f99364
commit ef3aa0b40c4b1f4d8b7db8582833cb61fc673f60
commit 31c0ec84f92cd40cfae210dac59413372996b5e7
commit bc224553843e526bad4bb91188363aea1664a70d
commit db77081fe3c88a31eaade8a9c565c48c4d51b093
commit bfb44eacb0e2de63bc7824cc590ede51a02a7ded
commit d7fd2a9e394b5f2bb900fc4e1e04e8dd4a97a7be
commit c21d446ba7a83ab9f15fae8f9c732bb94f8a5677
commit 6ddae0f3ab18a64e83bcf7b090e085394046f130
commit ae972ed5e0dcb3fab57020e243563cc484b8969a
commit 89cf4549a949b4ba3ce771163b75285979c95602
commit 147862d00bcf7e23e0a125f910f5db224f7b6722
commit 15091a6f4380a0c1a7202d52e82cdaaf80e2bb70
commit e6a02e2cc7fe3fec05eeaf08855e57d616a037e1
commit 5cf1675591dd28afc498348757469a87c1e9fcf2
commit 8dc1db3172ae2f17ae71e33b608a33411ce8a1aa
commit 74c5b85da75475c73a8f040397610fbfcc2c3e78
commit 2f77b9a242a2e01822efc80c8b63eaa31df0f8b4
commit 3c8bdb51be0e895010da62dfa173bb1227ff3b6f
commit e2069a7b0880ccdc6fa6530b6091e47168705425
commit f87f686482c6d2d4465245356854710b01f312c1
commit 7fe51e6fd2368b358441a1f6e0c94f4cd7e0720f
commit 21e1217b4c0e0234704d50ea303c7603266604ac
commit 5e4060123687c4f2c9fb855874f77b14f07526d6
commit f38f147ab3121adbd7510a82e6eb0b41a356c26e
commit a805889a15315f7fa78c1c4bb2f1875c7c43f919
commit a8027fcd08f9127d38edeb59600ecb76c56a121a
commit ef75a6ef37235e211bbdb17c25e5f79c55df1750
commit 5db392a04575120de4e73ee10c0dc727426100c7
commit d25555866172a0454b0dc1374b0ff29e1ae5f676
commit 0ee20b86966cff359f51051a56f8c2d89b09aed4
commit 386ea27c3b0bcdd5b5be74bdf26022ab931eae7b
commit f786b1d4ec778a5fc23911f06a0e38c9f4953b0c
commit 2a47a2d90e5cd96c24503061c8920a1e6ee248a0
commit 3a1083873ba7730970665d04c33680f96b27e3b4
commit ed42f2cc3b56955310a16da726886e684ed88432
commit 0d81101c190d1835f1bfba85dc3d65b9f9cacd68
commit 5de6bd6a13f1c717279c870eb8290e466c8f6a80
commit feb36dd01403689140a42f906fc75769d3158400
commit 36be0181eab50abbb043a087988e6c2bef59dd45
commit 20bedf1379b1d4b060e3f43661f35e5447d0cfed
commit 92085240ef9c0ec60c27a60b3cc0d4f5266fa511
commit 643e40d4c06f8c887af1789c7bf8d279e9c8e4cf
commit 1bd6dd21fcd53ac78a9018b96699ef1aa99a3e59
commit d1d22df174ae512c57374f517e346b608f61555c
commit cd8d77f328c53aad8915c9c4d64cf557742bb257
commit 9eb7681f760c77adece36bc62953245c9f44a3be
commit 8078f1c610fdcdd8003e2c538fb04af41fa5c269
commit d244a4167a0276db054d588e11f8142942bcf529
commit f9f74df58faa4d6744acc6d91a81a86895bc7fe8
commit 492c464750587ea033d7a2fcaa21f902e345b383
commit 53054e9a7775c228ada4d052f3e7849e71072811
commit 429a111851bc1f7388fe44af36166d399583a18f
commit 7f0af02ab362df7f064df690fd59659a1cdb9b44
commit cf1f3737c2d336b1473596cc7356bdffa186bc71
commit 07bc768afb0a1c638f4eb054aaed9eaa291132de
commit 1526ec9a3ed90e7ad36de7ef8aa2768b60af14df
commit 0c552ed38780f24b7ac235c3d10c6c94686ecfdf
commit 6b22ef25748fb77030bac02e2147f6d738212ac3
commit fe1f05df5919c67c3add49efb55e251a8d78ee4e
commit 0c7315e7d5ef9b36ca4db32ffeb34a187cbaf231
commit 5d30cbb4dbf096bb964fb9c5fd4417cad13445a4
commit 659a4ab8e27eb39cc61cb74cc714ba1a8f8c9a61
commit 4db6f200a5fef12666ab66e54bacb65c5d675e9d
commit f8b34a0518701bae8bb02fabe129f01b1dc33336
commit 7aa8a266aaa25e9e2f85d9d2d594cdff6b5635f2
commit 2e10ced47ff261d9dba439c5bcecf68d0c1b7de5
commit d4ad24a0b796ad429403bf17ba97ee7e2470ad68
commit 7229bd6fe02865a9fc324b4f062268f53190b5f4
commit 762702ebd324596def832a2b2a1cfd24fff78338
commit 0b02364e03caecbe30bdd9db0b3e6ba0196bb0ef
commit 5fb34bd9cf9e248d7e84e431a4a6b731334ab564
commit cd321e6fd611db983fb7cdb52daf089fabe4f9c7
commit d6e924ad85a0cebc9e39eb956a23386ce32cc9f9
commit 58bd8023752f3d7e6888d5cbb27387853b04c431
commit 9cd51d53695e1df134301c1bdb8a8f965506e35b
commit a058799923af7984552c6c07d6bbb088c1537e6a
commit 02ee3b02d77661c593c7b0e49f5baa4aa0974024
commit cb30544e3cadf2164a123859519521dc474d21eb
commit f5fe7edfd6ce62cd23fbd707e7f9fe0f56a45e94
commit 955220b04d42c41050158fec0f53957f320b96f9
commit 5a8b26a88639d69453d592ee11c03a24e0b62b9a
commit 6df442a03d1a839242397259fa13168858c52413
commit cab7d478da112e66f2ad8eec7dcfc0aa2a5babe1
commit cf24f6a0d7137bc703a23187ffa4a65ed3f17820
commit 5c606836eff823ea14c481ad6374bc6d87121182
commit 1dfcdc30270a80ba5b45f922833c0c0e56d82576
commit fa9e78d14070c55a47dc092f6d18364680b83f44
commit c3729997a23e8955f017b6286bd6c73b386fbe49
commit 7e0eebdc4745b7e0f031df571621204fd9d6288e
commit 3955b14134285f99e0763ba74b8b1b35faed37ed
commit aabb478421f5ca2be0f1343d02873394e935c582
commit 7d158f52bfbf82279ea8f1c3dc7a3ab3065a76e4
commit 2fa480d36eb302712e48dce4d2f6564b24426be3
commit 369576c2d5a8e8c3d7efb9d598970ba3f006b07e
commit 870d1e5afca58261a147e9080abb8cc75fccb849
commit 57a83b2dafff055698190d3fe3d7197c969c2dcc
commit 5f09237b82e51be8a1849eb658dcb153748f8f60
commit 553f973a0d7bbe95ea5da46979d926a9c0ada109
commit ebadc1061e045e961339e0df7b8a07f3e589579c
commit 63121b11a95ccd30763e6def363f8fbe992b7a3f
commit 3d2ea552b229495050316e84d7cb0257cb3cd13b
commit 6b7ec18b045ff524eab94340e18feefe9a783d2e
commit ea2d2f8ececdd4c778b66e19b82ce278dfc5e1c4
commit d55391c2138c1a5bcd1316ccedf1835dd067d568
commit 4bc615a5237a641ddb2235236c21b1eaadb76963
commit cbd442ce91bdeb8f618511d65e674894a80e4c31
commit 37dd9d58a595f4cda5a7f01703592cc4e00f69b4
commit 993d218f82211b1e17fcea7a5f727fa16efba353
commit eaae4beee8a94b30f37341c9d14837c82e7e2647
commit 497db7ea33f7cec2a0019894e844789f003dbd22
commit 880f8b3f8032a022c85351857ba7020fd3345592
commit 44b5cf2e0f7952856f48b9be56b9eb2f688d70f0
commit dd1a02e280dae1904c8858c8cb572a61a84ba7c0
commit 527c670e5323414dbef8f4719dc9b348a50ac1c8
commit 75d1692393cb78b510ff18733457f91d002452f7
commit 9cb18287d8f1c4549d95280e2cf60f4d1bab64f8
commit e56c9ef6cb35f33dc83f635419ae55adf69db9fc
commit 8e7fd19380f9187dae3ad18a61793b1752dfa097
commit dfdd6f89c4c7f3315d9cabd9bf80a8174ecb5753
commit 3446cb78f3a8033fda416825282e7cafecc83129
commit 73c84f7c478aeb98bce494cac73f2d20f4a81c6e
commit 845c9b313f3122191c847fcc4092492ce039542a
commit 5b03127d4745d6848f208463390e6a76d489eb03
commit fee500fa7cb7e11a4d2d66e75e65e67c156e27c6
commit dc6df2095deaaefe38a94d62a51b0d07c0794eaf
commit bbca579fd2ea8cbc170df33587f8a4b572a4f025
commit 7a1efad04c210594069c4ab9f9c25039cd6915e4
commit 753b999afe47900531282f86bf430aec250b4232
commit 1794e9d7e78cb52605234d0ddc3f46084937f4e9
commit 98b2e9cad2279132e3aa4b9caf9164b2e35c1a52
commit a820d3ca8ed3a2851e1c9d5713e807f84e88019d
commit c2d43918a14f7b0f04932f5a45728e0fe8161da0
commit a0a0c69c05bff025abf49ec66b2bfb94aeabcc6e
commit 12c4d7edfb7238ded6c7a2584995d888b4d877ec
commit d524180b88009d9158bff7fd20f3916455e0c32c
commit 85b45b60722f506322393320bb6cc195378f2e4f
commit 7a7aaab021a6772b29c81c22db9f4d2d8cd66ecd
commit 34fd9d686772f6725242e900913ca2be987c12dd
commit c9a502e981a961053f3f873b14677d95e804251e
commit 44cbc4534bbe7cc1f7dd25976a044c7a84628978
commit 73fa255328263e525d7d46d511b088e80e3cd579
commit 45ed97ad36b744dfc2754c47cfd4423aab6322a2
commit 2d7f1d51c1e9812c6a085b6e5bfd99e31b1442cb
commit da044aaeb31ac11e733a667763487508433f3ede
commit e40b4b9a474887653263c138b0172b0e2fde57cb
commit ed1f42f03c46767df7f55d6a75c39051a55cc656
commit 30b52995c294b3c9a002ff2f90f773cbf8850714
commit d839a158b2480814bc438f9f46f440a7b9f63cb6
commit 52c293ab0653b3e57d2202a5002f59593ed12d1b
commit f471de2586e8ef388eea2cafa911695d94ec1d88
commit 1bd99ca2695a76f15d7f7862d6ef878588e854dc
commit 13a94f3f130ee4db6b4d2a0843104807a7299aa4
commit b2ef2fdffed2a7fd5bf3f178a6a0427487dba5dd
commit 7389c75114c53b061d686f19dff5833adaf96cb8
commit 233bb3733bd43966696f4a5e95129476e86bf4e3
commit b7c7011e67b09efc486b1de38f6bfbed75139989
commit 5ca1ceebab140b36928dabc9a5b36b9a3010e844
commit c1d3f627ff33bf1ae145209030a114c4985beddf
commit 4482d3c94d7f1d6912521e6de23bb051bfcd084d
commit 8c45a8340dd097ea0d6be6f718c4882283d9645d
commit 1698e200e88db96aef7d16aa3d63df68a209ffbd
commit 7b08b2e1caa04757bc7a35a46b3d5c83b1748423
commit 35ff4301ebc37bd45c18edae08afd2983dc9a338
commit cbf9e46ab0fec29ac39d05d9a87fa66122bc9783
commit 322a7e005db78b8a46ead91b7e3df3514cb658f0
commit e53a3250f76b8a0dd5b533bd0ce0dc821055e77d
commit d90d90a1978af6530c7d8b201c4ab117d0506b1a
commit dc37a9194ad20c4f09f22ec79cc2b5e5eb57c5a2
commit a64b15520cc3a19bc6ca807870b51b37774a4d3d
commit 1e69fde70030e2fd2b729de5998d3fd6c94be238
commit 90cbee204e6619e47b1ec9fc14ebe03852585dac
commit bc069d823bffd774294f5c3b12757a50fb726fd0
commit a0cdb3d09332900e145fb99f52d1d571d7030183
commit 00c145222b6ac93ee9926a8ef2e41dae55b97b7e
commit ccfdbd4bdc0875ee8b8fe00691a6b5f883227bdb
commit 73c2b3fd2c515bcb819d801c5c4bf053fdb1e5cb
commit 8107e4996f4ec3304485c608b5880185840c464c
commit 9faf929fbf6b457d13064d57017b2d4f62670b58
commit 228ce176434b0f61451019065393040d58e1668d
commit f431393d605f55f8865dbf8ba8236760fbb0a3dc
commit 970c1646b5ac93a13496d3429aca3e799fa6cf07
commit bb0ed57b4450e46de3651b310dcb4273032c3122
commit 9e4216cf2dcccacd0e5dc932f26e35d18527ff41
commit 0c451baf3bff8e2a9fa45ef6471f9f25da00f39b
commit 1ad29cb3438175a9517f3b6cfeb0e331be213d8c
commit 8d1c1bc13134ab90d773cb73c0298f2459703bee
commit a1b0dafafca414cf8b3a51225215a21df2b3ddf8
commit 6d5f5eaf6acf26ce0dc986fe7240dc4a0c981119
commit 676915e4108f3a8d98944e16e6ce00a6440ac701
commit 9661bf687623f628729566cc3c58207c44e56258
commit 909ae7155faebc62af461924a91071c0b9cc4e39
commit 8572fa2aa517d2512abba661ddd5e9a44a893dc9
commit bfb4fd20b3e6997876068f469c14d963b227d896
commit fe9e5f56feb287b3f14b0a5892061a1da2b89b5b
commit 7214c08c168046aadf15e3d731ee673f26c77213
commit 8f2ccaaa373815ff94223dc2e3f6d53ff2f3ecb3
commit 463e953ea2eda25fbde70e0e72900f5bafeff93c
commit ded7d99eb5b78931cec30dd49cd4097d0ac770e1
commit 46d79cbf9ac64a5e63f0c85f256ba6400a1f2024
commit 01ef47477d05b784ab6ac26fa6878987eda436f1
commit f4d8b6f5c61ab5e98258bd0072d733741c76bd8d
commit 4d5275ab0b18d17697392aafd93e206e6b9de647
commit 6e01882267a696b022cfe3473a0d3e5ccbe54010
commit 368bb1bcfb3a3bc70793cd347abe0bc60c01d94b
commit ac772a3c07cad66df46b2781f39121be211d383e
commit 75dda67c7213c3e0d17244a8c42547c27ee746f8
commit f2b8447b1f309901c3fdd4045febfe5cab545d87
commit 5ae0ec8b8045d72467d4e7417b34a5ab2fa72138
commit 48d19834ea551af2932090ff6de04730007e9876
commit aaf1090a6cb66e8b6d9da63ee983604a7eca8ffd
commit 07bc0ac8ff49c9868a66526634fbc21cb194afca
commit fd91d38b5275959a5b0804d4b4dbc5a4c0a8aac9
commit 6a944ccbf5f5059de1a9b3d48971a50cb5857ebf
commit d3e53452b0f4cdd210432a268cabdbf65e98ddab
commit 358e6c38300b7d2b7d7122d4fe485d8a4580dc1e
commit 26dc0448ef36ba83be43a7c4da94d55ec626db1a
commit 55ff23d9eb814dce8393a4c471259ded5a85d461
commit 96e693ad78a0778efb5256684a2f3712298f3e18
commit e7947c021a8b394677ab875288565d4dfcac779a
commit a3edd1ac706243fe5ca1c0925ce120b5a2661975
commit 672c883c26c68fe49b161d7ceab94bdc69e57b0e
commit bc71daff4f147377674e14589fb651bb36f44d4b
commit db3b5cb64a9ca301d14ed027e470834316720e42
commit 4bdca2057933ef08a2ca7f44e30a8894ff78c472
commit b6f90baafe267a0705c5d9b1429c875d3c39fbc7
commit 0f2e1d620eca56c4ceebc041aabb1eda26b2cfd0
commit 1cc823011a23fa0e3497e9f6655172b2507ce2cd
commit fa0497c34eb7dd9db9a09963917382e924c3fbc5
commit 14493cb99b71dbaff58dc0dc0b2cc0a56a88ef05
commit a433f1f59484fba7a7743a3c5a5f320d9e828b3a
commit da539b213d7952741499283636f70406383b9570
commit 15e3eee8d3939d1f28cd314a5db2590ab94109d6
commit e47947abb9e71176ea2d9c8f55e03134dabd2605
commit a75f2271a4936265c8a189ab06f9eb89e343b441
commit c4050ff1a43eec08498b1ed876efc6213592dba0
commit 1589c82a10852c6de742e5d6a92042a3fd68d753
commit 570de94b9c5d93e1c5bc4e357946efb93c662da9
commit 6b43e1a05cb764196c5158b2447a9bfad1f2b531
commit 1e03322cfef9b83aa87ea0a508588f9f05a47dfc
commit fcfefd85f18a0004c7c7b499f0701fd2c76d4c68
commit e181be58ccc2ac48e4b79996c8dd6dd9f34fa4b5
commit a0ba127960982b8827ba8b410c272ec8f3ee7e6a
commit f9632096be49ed31e86541e3e79960e21e8f1578
commit b6b85c8b43a85988ecd06f039f8f90c041842812
commit ba08e9cb6ff87acdb2f28f013fe695a252533f0e
commit 63630c9e5c3481c51ac3b4ee058628a01ac91ba8
commit b0a3bbf947f6ed690336cec1f6cde2a30d082dbb
commit 46f7b4deb30558593c1d2e62d561a3cee21f558a
commit b4520bfd801338c48d887f0eec74a53ab80f2167
commit 6c2bebfca43c14967cfb9cf6c2c074b0d755ddd7
commit 5e1e227fb7cbea2624b4b9375a9b888d02fed4f5
commit 6d39fa3fc802e511241898a6890a9b2ec7f958e3
commit c3f05ab8c40f8a5a8576e3d936cff450a39b0360
commit 85f23b0a8ce31f1e22d7bfb4666b4a7830563347
commit 41e491d8b606ea55b7234967f802cec8e6d77952
commit 570df4bca6187f493a1315a7373d7eb1285b3e86
commit 35d54e21e002198c13647b6cd8c77586f683cf39
commit 9b337b7d628a5e97b4dd72bb1d75f1716567b416
commit 3697b9bd7c69910cb6543d8441211ecfb2f013ca
commit 1e91a5f79110b96baf7ad21d3c7b5c3e18cdf2a5
commit 00e1ab02c2ba31b2bd446979949193eb3ca2561c
commit 610dab118ff5013d46069c828b58d576e0907b66
commit fc021438d0ab7863dc93f84a557af6dc6255b881
commit f915f3af9984464c308787102990d85d4e988d2c
commit 2e8cc5d317d12f7fb4f66361a3ce5427f0abe2cd
commit 895797d9193b38e759bc01268a8e3887e521f682
commit 1e4a00334add40f609162914af7a24bc92951008
commit 352b919c1e5ff50c71d665395b27acbd1bf23a05
commit 76eb9c95a409ea820b2e7c968c220e7a38f27d76
commit b9cbd51000ad3541351ca832b00600870ac08e5c
commit 2c1c7ba457d4ecf475c0e220ac5359971355c6eb
commit be3800f57c3b0fb39dc732345279db76a50559a3
commit 797a0a142ca7f3b823ae1032983111c055bc50fb
commit 0a9115fd952a5de27dc360dc0c4618b6a1846c58
commit d425c6f48b189f0a5a7c7d26980fd7a2114fb35d
commit c30e326e488ec43f6b0931f16ddba16a3370ed4a
commit cd7d8400aa04ba989a87949cf4611b7e16af274f
commit 9a18292d41ae201333fc4203b3e7987ce5c1de6e
commit 3e7c6fe38724eab767033f9d26b496bc2e815157
commit d26ea1b346e71c07aa00956c32fe2d2dbec068ec
commit a476c0c645535cc0361938becb440b4239996079
commit 934deb64fdf220d2caf978d22615bcc7c9f6897e
commit 4c6ce75fdd628c43aea11448ed41b52119dae42b
commit f24e924b7e8aba7b62671e7e1a19d83301a08597
commit 53c5692e7a3c8e8eed3ec6b876a3c982d217a5d7
commit 2046ed6c8aa951e4ae83c5022bb0a7c777386097
commit 7f6db89418f9d26eb68e050ff16de8e9827011ca
commit dc12f9eddedb8b41f4dc948e5e636e5221fb4d43
commit ea7bf2f22061a7bd77b17ddd4ac1bb3500ae823f
commit 6cfba94a77c5cbad2d7c106ac5f026b6a8b1efe6
commit 3ebfd221c1a83e5f0edadb87d173d8fd93d1d125
commit 2fa9ff25de08e598af051c76b216d2f073b2ee89
commit b125b80bd546d72d08ab64d63cfc8efa397b6779
commit 315e29eca57f85107cc6f687c2d510aa532fb3f0
commit 1c77527a69d5ca19cb276e2728992d922b687f35
commit 25f50704343de1bea70100ad41621b5737a6a96b
commit 44a976655597b60bd501148abe66462bdc33fb6b
commit 84b4dd3f84de424a68e1fda0d483530ddaa92b45
commit 3cde91172d2e9d8d8dc6e0d62b7c829de503825c
commit 40b832aac03249ebc70479da9f3ecf2789deaeed
commit af2ba368838ee4913e758f34e3d8bbfeb110be36
commit 2c22ed0bdb0cb6da9408593eafa6137325576017
commit 27c5f29526d17a33946a6b977a0274eae320c489
commit 6e3c51a5814aff70b72e8b2a9953bdac7aea2f44
commit f464c5dd4d918d4dd84eda7e68d4a0b6d41fe37f
commit 0409022c15623d91c112e51f38cb62633becd432
commit 9a3ce1a7a9e5372d8c275bf3fbef4456c8407145
commit d78c71321ea963378cd3c5646ac6c6483d8d1a50
commit bf16235b39d4ca9c8dd47ec1b2faded6ea58f7a2
commit 47e7f527c8256a2fe3e61fcd5f59c18bc3fb53fc
commit 2b80ffc2d86cce8444d5fc0237afd77f7d18cd1d
commit 77462ab8c62b0dc65261c042771efea44a111131
commit 5c1c09a71634423604c47502d8059a5c098c6f40
commit bfa84da6185cb1897fcee0ac3815625d162d39f0
commit 30feef0676092bdb4b8697e68b8d5864d54f096f
commit 0386d52d1516d80b81a25552df74b8a82dfb77f3
commit 92ecb92ccc839c4c4b51ab1025cde5dd82c2fb4b
commit 45b3a914d40e63d2c9e3a3e02fb2014be975b9b0
commit 0ce50b2efe08e56224d11d735310b353e0e4e222
commit 01c3f464743b64e6e65cb9bad951458986819a42
commit f2cd6b26922e68ffafd14a9128e20630296e430d
commit 29f187f71e7fd4e4516f235c400e457c50e2ab70
commit 5d0622705ff76e017b32cb763cbc7b00694f3b92
commit 6c47a79b3b8ba91faf89f9866da2ec16aac979e7
commit f10984a353c87e696872de8f9614a58689deb0d0
commit e03f04b84901644c81b4348a813a8d17facbd277
commit e602157ec089240861cd641ee2c7c64eeaec09bf
commit 48dd83c0fb6c68742f7fefca907036942dd358be
commit fd73c8507675f6bccc039cf319f183e41e447cb7
commit 8789989b476b5f3bb0bf1a63b5223f6e76cfd13d
commit 04e8595819480bec2754bd2cc4377270e7e6c799
commit 109b4d8cfe4279da1cbcbcd99ae54cb2b2aee521
commit a2b308044dcaca8d3e580959a4f867a1d5c37fac
commit b18f05a0666aecd5cb19c26a8305bcfa4e9d6502
commit 1385d88c6aa774332f1a88562b6f1bf04de6d710
commit 6091ede913015fd3c07cb16298505bbd71f41689
commit c796d7e039b57f9407523b8c4a3ba5358dd2d8ff
commit e825fb641b4c78a8dab5101559dd27e64d2f24aa
commit c77b3608b8ec79a33ac36a9d281e0395a3343d6e
commit 2ecf927b1730a4addba7ef775f433046fbcc423b
commit 46d75d23005f87057881c460a94f9357d079087f
commit 66a11ecbdebbc8ab29a4076df0b95f0bfd61b1c5
commit 18dad20c3dcbd7789f3d07056cd78394c8278a75
commit 674f90f83bc941d0cd5a85a714c5bfeb8789163a
commit a34b09060a3b95c0341b444ea49558a807988e34
commit d7b8e68dc04ad89809832bebe9ab5d7965a6eef5
commit b336c681bdb5d1814acf8f19d1225a93f36ddfa2
commit 9788d087caffd8358d6e14349ee69d9385666719
commit 20a29ac09192f9d9705015261652f277e8162f09
commit ff6b11cc7263d4d6f17bc7b94e81ffcaae5fe107
commit b3b0e016ec44d94db48a7d01b69570b5de37a31c
commit 2ad00e753ae13b0c523a579fb04372787f77cce9
commit 73ade646c545feda7c5df9b9c78c5d011ce76463
commit f36f2648f32c184ffc285a836b1ce3757e966925
commit 75589226372ce5255ffade2ec6dea862338f7595
commit 6812d74803740100a0c422b9bc1fda947af4da6a
commit cd465a670087f94e62100622f9cbb894f524268a
commit 38ff516bb00cd8e974c8b5e70ab6e1b354b8f424
commit 0ab720d506252a28983baabafa2605eb6c94b1d7
commit 91b38ca1b331ef1af3b77e2ffdb41654e0fba127
commit 3e8d74cb128fb1a4d56270ffbecea6056c55739a
commit c02b04633c4f4654331c53966cb937df1c73a9bb
commit de231189e7bf1a38c0f889ec5f8911af473aa792
commit 7e60ab4eb3e4ba2adac46d737fdbbc5732bebd58
commit 25879d7b4986beba3f0d84762fe40d09fdc8b219
commit 268182606f26434c5d3ebd0e86efcb0418dec487
commit 2da3556c8650798606c0d3f2288b2f87c6665a69
commit 5b466b28fa943aa9441cd27a9a469e1330814299
commit 257e9891db0b961b79c9f0ca50c808a738000e70
commit 0d1ff99a3398ad4b7165ecd8e69d360090b32250
commit 40e39d72277fc014e7b8149def35831998c8df2f
commit 1893549af62135c788a66e7ff27c81459c532fb2
commit 332bb09352a69b8e7cf0825575f90581d3695135
commit 89fb3020d68d46807e1341ad8acae53cdf197234
commit a64f7eb026ea7205bf9dfadabd746e47c5717b5d
commit 1becc57cd1a905e2aa0e1eca60d2a37744525c4a
commit d4281b49c1b6afc66c470c85019fc1eceb676a78
commit a3ffabb25077059427434368a1c65c176a0f93d0
commit ab22ecabe99922db4bec8e2b439336f865bbc117
commit 9f77af014cbc3b77a2f5b8cbce8262ff97e94aa7
commit 6dabce860d40703d7c27b71a120317f09293cf9c
commit 87f4c2d9205c6646b25081581e810a05cc9d2799
commit d522458e63136ccccea18077687ceff1d31527ca
commit 1b177b5c6846f20be013b45c36c24264049c81bf
commit 1f9bb94f128f7d13a67fbff5eca730cc2e8842a6
commit 1501fe94eedd18243b84008aecc25f4f3c4fa48d
commit 803e4c9efc79c96796efbecab9ed53267d051256
commit 665d49c27eff01c91a155a37f025b981c2f73a3b
commit d9ed111b76e3ebe1d15b7db746d498666a396de1
commit 06aade19bb2433001f4d10f1424a803b3f63734a
commit acf429dcac1440169a3b28da784cbda72f3b678b
commit 9f173a80305d84f6b41bfb2a5482179e6e4957b1
commit 025723e059ab454823e6aa21277976178f23d120
commit e7665d0ca7938a8f921760a780bdc55c5eda6df0
commit aaff9c089947cdb366ffddf4d4fb9747b6469d3e
commit 1fbc69b8f543864fa0a6c4b5d95fb5f9f5d23d33
commit c3aaca43fb07ce05f3a3bd85288eb3d500469be5
commit 353491c48697df8a133bc468dc1b8ef65045254a
commit 413521a4c9f4bbb4637b9ff3427070325890b08f
commit 360930985ec9f394c82ba0b235403b4a366d1560
commit 55a6dc60b47c817c644af2b505d46815d8b9219e
commit 194224a54c8bbc896b1fdb4a10ca5789ea4b9e7d
commit 61c31b8b6c5e386a9c2ddc4e2cf9d8ae46c8a1f9
commit 232f2431899cbe6c00c1350e35cfba91ea0c1c0b
commit 93ab59ac6d8311244a76ddb31e7ced4cb1e8f22c
commit 3525844d483bfb2236c1dd00f7a490297721ef78
commit bea35f7d4219999b5e4a9c8cdf6a17683b2ed1bd
commit 164f0791c5d10a2f0e947f6872a7c14ccd860085
commit 95c2f89895930538879e1c3f1467a8095e03d1a5
commit 200c7c8132318378feffc1e4b0189482f4c7f1b6
commit 4ba439b0b38456c61505568a7fa4fa364850a236
commit 6c882a573bc1d6130274ef74d1697dd769f6a9e4
commit a09e2065101a343ac3a709aa6236cdac874627eb
commit 8cce16826f5e154a3463b7eafa0f6beebeb48e49
commit 423502d4f622ad90414bd38d834763277fbab26c
commit 24bc366a4309f407ea77110ba15e3581005def6b
commit b7941e2fef13baabd3eade31601e70adf729e887
commit cfdce594171cea19ba033e8d7ff57a767c0ccd63
commit 9535a86a4072babc37dc6bdadae52bdbb88166f5
commit 89f85765555caccec0a31b604639cea53942e522
commit 491ae27829cda38df3ab6d2fe5d94a80ec1bbe22
commit 28bb7f13e70dcd3a6c736ee1567cf91c47af2600
commit 20997c04b7168b1833da77f882eb5a6f246c4b96
commit 23105541727cd6b702c9ee66d98ba50a129fbd5e
commit 5d6cd20075c823565e7550f8de70d7615ec3c8b7
commit e0ac8656e75f1f26833c14313811043e36b0bba8
commit aab9b215d96e0c7e89109821f738f80d84270461
commit abc7e24275a35975e58e699ff2afdbcc47e124d6
commit c0c2c51c40fef6960c11a3f132acf91878fa0de0
commit 2c4993bf88ef1e0ed6c81d2fb56f30f32c3d2e74
commit 3a10a44a3e00d0227d13210ffeef50daa3a326bb
commit 70a6267753c1f755157e3bfb63d8fce4137729c6
commit 3034983db355daefc4463defce802b8e6d86539f
commit 3b60b70dbec9bb2450ecf012a7b8b6e5dce7168d
commit ab1270a29b4f2b23aaa28d590d8361903c68b770
commit 9938333a46c9e20539c85ca7df42a739541b0493
commit 321488d180c2f5c1811a0ba7b18d18c7af87739b
commit 9c9d501b28a00f4365632260df6cae488a905af7
commit 8ffd6f0442674f32c048ec8dffdbc5ec67829beb
commit 28ebbb4981cb1fad12e0b1227dbecc88810b1ee8
commit 3a25071a970885a2bd3f63cfc7c729e0d536e10f
commit 23616d1ff31d6e8ffd4f1e12b6b1e2e783fa8280
commit 66dadf1ab196fd2cf8c41f07a4745ad7fb84726e
commit 9eba1b8b70f6488e944fdd1928ef758917bf7229
commit 07a1475279244cd8eea81bec44fd5f0a9d6871f8
commit b695c97b580a1949d0dd96aa17b01d4de738eda3
commit 837d4e071d250d695eba7a08c55c77f6a5b4bb5e
commit 21d81681c298e9712fe37df4b001e8476fc7d03b
commit 0be5ccd518031be41266ef952db2202900d519cc
commit c6a64ad9b7f7182b5e2439a740574300b2e61951
commit c22b044070971e474dd0ff81a9830df93751f726
commit ca2943fe0acecfc89937dcf0abef2d7c1bccf9f4
commit 3eeb0d037a543588cf2b8890224ec26841e1069a
commit 1bae03aab2b41770b9198b3ef1ddc7dc7efb0678
commit 932fc49479303961c1da54a1112eb26cdc890c76
commit 7a66ad6c087ee3863cc9a8d696ac2191d1c2e904
commit b3a02e8b61c19a0380870c713bc704d7e4f9e0dd
commit 23ed8833f231a3ea36d1c352737ef6f1eadfc899
commit c00ebe9aeec6df816fa8a5a167cd1c102d02dd28
commit 3808c34b291925d8a0fda2f23136381c1feb1dd2
commit b5c07eaefc8b6e4aaa433f52ce74e619cd0ec386
commit 09521b5d49222d5ae932c4d738b2d55fb7abb415
commit 0df1106bfd13a9fe1eb7c33666bec091bc37c2a7
commit 1b320ad3f5a88602aef2f207bc211539a5496702
commit c60c9a5f9ab659e5ca9fa0e485a28e82fba761ce
commit ebe884e8b93351382290ae107c880230d3a1f125
commit 2e9fee9b8e0e10fb9a4cba3ace607cebf7021bc1
commit 16cc3a221537bb3588ec2a568d7bd0e7972b25a8
commit cbb63eccc05626d0d111b335e44f111a3bb92871
commit 023f4d60747cadd96115c3c3b55986798322f3f6
commit 93682f8a196718c2caf9b9b3de7894d5c0318f1f
commit 5e86aa29a338f5c25e2d10d021bffc6b1b560ad5
commit 3c87de6d034fcb756a10523367219c5564a85fd3
commit 6ff5a1cff70441e1cd27614c359a66d29649e872
commit ba3c87fffb79311f54464288c66421d19c2c1234
commit 4f98cf2baf9faee5b6f2f7889dad7c0f7686a787
commit d230f1bfe7a1977565ce1e2804ddb7b7a3d911ff
commit 0ab2d7532b05a3e7c06fd3b0c8bd6b46c1dfb508
commit 08ca712270028111b22e4b159d11dbd6b770135e
commit 4504f14338cdc43586189558113faafa8acb9ffe
commit 257d7b7be26d83768cb07585480d90e875365d5c
commit 34941e5dc72daff878267c55a9bdb5e055804953
commit d3116d9f27b89d363dd528e42fcf4895a15e0c3c
commit cde2e087a320bff5d772d82c9fbddaea18daa94a
commit 01f648202c5390f4c366793b34c27cddad4ca8d7
commit bb13d763f251c28b08d996671c5146a2113fc9e7
commit d13f050fee94a454323f864fb005c4355600cdbd
commit be6f94039e1a91df4b0efc2da9167ca9c17bb532
commit 33f3437ae1194ef5dedbf275dcf74ed9c114647d
commit 7cee6a6824a0429a6255abe91b5af01b9a01cd03
commit 97ae3c8cce96f3bebf883d0812cef5d3fdbe3e64
commit 0de4ec9a03537bd2b189b5afbf83acd6b72b0258
commit a9818854ea7870ec5464d37b72c89f5fc198708e
commit 218895820e6fccade42a7c3ab9c0a44dec0a1ebc
commit 69a8c3ae2dea84a6d571e4c1aad306f630f3ccfd
commit 44b87bb0836c65d1b9d21b01503eb6e9b9297771
commit c2d2588c702364ff53916ddd97e2b26fd4f4a317
commit 455227c4642c5e1867213cea73a527e431779060
commit 50cff45e274896235d371f16eab67a180e12a732
commit a37d23f816b18a324c24d066d5bc453308913bf9
commit 12fb1ad70d65edc3405884792d044fa79df7244f
commit e90bf919f714ae2a658cdfd03238e7be9ce9185c
commit 101827e13026a981e887527620fe9710adc0e481
commit aea1b4738bebd8092bd437ce0b03aa9587fc20a7
commit a70a93fa568b4f05aba548dadb673703eccf5480
commit e0f85f4690d089cc1a60337decafb1acf7eec45e
commit 103d5f08ff42b666c61c350be2c3e724c1646918
commit 5bc20c224bcb863571e8831cdbba23cd61b10ac3
commit 2b36de971d25daa2ad287114ae3ca11a8f8d49d7
commit b17bd5dbf64677682a3bca249c64521d5eabcb38
commit 12976e6a5ab8fc3766c0304d72f7eec81a109b55
commit a159afdad2f6b97e4d18549cff2b53d17e68a412
commit 8f4f5f0b901a444c2317ef0fb29f35bc296daa55
commit 2e8452ea4ef6406927e4c5a71d1a7ed6881c5a9b
commit 1718e973e3d23b653cd77994073a9deda3875689
commit 2a9aa52e4617c777fb0c885f0c02bf5ac65a786c
commit a4d4db727320e0f80df605ccb877743359448a36
commit 2b607025797543433e7733c276ec34381edffd71
commit 24e461e84f1c6d58fa1032f06d97e277dd0b4adf
commit 75c2b7ed080d7421157c03064be82275364136e7
commit 9bd443cb74bd47d820c3cc31ee0ed3008d004d73
commit 9f0bcf49e9895cb005d78b33a5eebfa11711b425
commit 5be7d4e3cf9ef9853934daa03cf573723bae1650
commit 2890662822def3dcc1b2e690d6fcea694c666083
commit 6b37fee590ec842f6e172c4f9c7dc4baadbdfda2
commit d6634d4d92eac068e2136afab49dfb15a9efae74
commit 3cb4807dbf7f47f0a1368f78e7c37b1dd515c2dd
commit 1598fc576420207e5c89088fc46610c2318e2f5c
commit 25c30a12d718bd68ad91f58c7546eceaaf0feca5
commit 09a77a40b51a979557521d5a2d39e431564d5d23
commit d522ca2714b77e15ebe6e77c1db7468c11a81180
commit 61a7c162399590263bf5f1ff5d2de634bfe3ae8d
commit e3959cb5479cd24baf9687734d5591b8e2ee08d4
commit 3898c8fc42b247c26c43c26873895b87fe58b477
commit a15a77c8e61d2db075cc6e2104bfdebf5c9b966c
commit f9bfc9fff2997abe3c1a560a38a0c359775e7ec5
commit 5a03159ab7ef456ba22460e47a9d0eab2f310424
commit e6850f98efc70277dc0e941e905182738e7327a0
commit 5a863904bab4f5d22012f7d68ab2becafc303a40
commit 869bcf59fd64382e3b23b219e791e6e5ebf1114e
commit 49f26218c344741cb3eaa740b1e44e960551a87f
commit 0baae624630788862bbd654741929007971e9d5b
commit 490ddccb84fe2f6165b2bdd2d00fd4ab593b95ec
commit 8e7b3f5435b3c0751515c973972ebb11e0fc0fb5
commit bbd069a860b78a087d20d91656a5026c0196586b
commit 35c7b59e3691cbea91c8b91e8ec4b0a4a960dd5a
commit caf0f98dc280b5426b1858d4e70130aa3dd9679c
commit 82054942472745c2caa4f6b31b4174401348b887
commit d155cfff48499d1e973976519ca81a7d9bab2cc3
commit b7588507152148eaf0f19feb98c65b72ab40a726
commit 33e82119cfb2a957f250f92a1e4c4db2b06400db
commit 8be295046748432c53a2dee39c469f63c60b0ec3
commit f2bcc0c7db0c004f0184675e7862648e8aa197f9
commit 8ff865be93e642d0ad66ca7369f42fbe36dc6a90
commit ea791e704b97ab5abd563b6d2f88c4019940079e
commit 71c79a196096bf51603322760dc6a95e2eb82ac1
commit 65183faec89f3ef2c781f2ed6803e6ed5c365d48
commit b573cf88c0d0a1f71873ca36edf0e20d4b9a82a8
commit 7f599fed3b13fe97dcd6f68bf8a5c62abb91d0a4
commit 7c2551fa1dfdb06a9dd3a6c629086fe2c348e00a
commit 0bc3137b2157115f328859477b463c912d605c3a
commit 7386f88ab1732af890a09ab3a7f400bb20adbe5a
commit bbcc3514ab4f7ec3ae2273ad08b0a1b6b4aa9dd9
commit c1ac2ea802f5adfd1d128fc01375af9c5f113932
commit 597364adc0fcf71617b3adbe647b6eec76e27554
commit 1626761ee4406c51d5afe9d47dd41a29e2049b71
commit f96c61fe0383d73732aba72fabb7e2c7ce0b0835
commit 6120611abc05dd850eff4eb3026f977ac7e34718
commit c627087cb164d1675323c7942fa29bded4263dfc
commit 035d53e0f36da6ce49abf7bea3d9b30a075ff247
commit c265f340eaa87aa5f979adfb23d7463af67b7f27
commit cb841d27b8767fd88096d06186b5f5de990fd6d0
commit 15f9dfd545a1edd604648961feadce16791d0f4f
commit a0b433c858ac1d2e03cbfd5bb34b9b61906600eb
commit 2e656827ceed9fb1ba406e7cd11d7b572010add0
commit bd49f19039c1806cd10cff8aaec7f90ebf28f0e9
commit fd45b6540f513887c172e2082d437209fe8f4a54
commit eaa7d8301109092670c5cf3e12c502618d6adc51
commit 5daff15cd013422bc6d1efcfe82b586800025384
commit 731b48463b0d96eda1f1684eacde6e9c8065df83
commit cab69d36ccdbfa3fa0b5627a032150369c20b4f3
commit 27d196c4491458ca00014cfe1cfa9d0fa87a2ff9
commit 2d0ee64e9846ed4036fd11c5b900a21039ee8b7a
commit 55682a893844cc64e3a85806b0c3ca7a77b905c3
commit 3537d6a48c50ed37e419f89931a5acdb6c56c6d6
commit fe56c6ee0457035ae8fbbc2aa5ddfcfac6ded787
commit 09d49e14ea6fd125a21f89b80f888c09be32a174
commit 11b92df8a2f7f4605ccc764ce6ae4a72760674df
commit 9d65b1b4bcf3918164e17365eec169875eef8ee3
commit 4e70da985cef954cdf7813d651c067d2c602ea71
commit 80e709ee6ecc9eba8bd8d188218472822e1b38bd
commit 3ffb193969c57afd4096cfb107ca2cc3bb0c55d9
commit 389c6b3e120303715c018d1bfc7bab02b50ca3f4
commit 57a8011512131c63cf700d42ef56ad875409a1a5
commit aeb3dd7e6f91da0a8c460d61fad13db85b3b33b7
commit 24e52fc20201c87912eee8f337829c036c3b0f3a
commit 3b718dcaf163d17fe907ea098c8449e0cd6bc271
commit 54d020692b342f7bd02d7f5795fb5c401caecfcc
commit 8d208a5eed4890f52a33ce847cbb8f8a5b1be6a7
commit 848a4e5c096ddf8ed1323123ae15b8d4318700ab
commit 0976b3dc021b2c5392d6abf443460e4208f85fe6
commit 69f06e4fa098420e94f6970332e84f0ed493271c
commit 901bdf5ea1a836400ee69aa32b04e9c209271ec7
commit 7df1ed6ddf3da52b020ef3c3f5597bc628c3e58e
commit e871a70d8ccd6dbcb30f081f5d3d8854380422fe
commit 68858328124162b9b42bc7b8232eee1915cc1d8f
commit 30f90f3c1c2c63c2fa44f61233737d27b72637c2
commit c168feed5d0341b35b2f6a744f088e7625cfc1aa
commit 41ce6d6d03d5e51420ea7732c83facc8a7f2e5da
commit 17fbdbda9cc87ff5a013898de506212d25323ed7
commit e06da81749716ee3f0404fada97882609921d98f
commit 8020f0f9316b6961fe384031b4780e764eeb9652
commit c069dbbcba7319c514536820f2782a0af3361811
commit 188d3f80fc6d8451ab5e570becd6a7b2d3033023
commit 8d8ffe3740b6de4a8a84817cd85195c533ed52b9
commit 59eddd4e215afc05f0610ebabfa05d4b099e5c13
commit 7a0e005c7957931689a327b2a4e7333a19f13f95
commit ee83c930974d4afb5fec3db638a8341b5d1cd3fa
commit 3d8de40fd639c8be24e4aa557a98e20e1d09bdc3
commit be3a432a9d382a09e02c3359e4f6fcd991fe7d2a
commit 5b4d93eaf6b44903f4c71b4f404f65317abd8d9c
commit f308116676566b555ec3bab4c3f9eb20c1c9a5cb
commit e8c49e9eead8620c7dd3c64a1f3bb44682325710
commit 1c982c9ffefd00120f2293bfd15fec5af475dc28
commit 4cc1cebe08bff0d2b75f16aa65ec61360e09a647
commit 299004271cbf0315da327c4bd67aec3e7041cb32
commit d62088ba314ecf098871874898ed760347d1fbd8
commit 196754951fc8187c64806d0807c467d6f435d0c5
commit ec7282bd2688c6c741c79f8696a68c6c0403cf2d
commit da55037afde24d74a1a3f26e4d314f897f3432b4
commit bbe4418f22b9b20cf2654ca710e344955380e62c
commit 0e69ef6ea82e8eece7d2b2b45a0da9670eaaefff
commit f4bc8a43069c6268a49f064fdbf85ead5cc2bf04
commit a2c7356f526dba1aa5f49ba17c822e46dcf7d6f6
commit ddafc678913c4573d52f075af7d82152d431f322
commit e22821e6302780e2acaef7438cab828f68dde9d1
commit d50dc746ff72b9c48812dac3344fa87fbde940a3
commit fcdb3832a4edece23c043ce97b3a1f7647bec929
commit 8f7bd7010dd5bca920e9d3c0c040622b2e834b57
commit 7f80a88dd370777b86ff583f036c558c58c9f84c
commit e6b27cf515a7813ca2228a9aec8e61d67fb9fbf0
commit fb120e84b00ad4371c13a0f31df773fbbb16b09f
commit a1c23485b8ef40fbb9690fdf40f15bcb26c43e73
commit 47d4a680b8e2cf0502ee5a6d0191d3b7b1bdcad7
commit f9d9745a8603ad61937209c2431732b9abe444b7
commit 8b42e93b349c8fa18f3a27c56f04128657f47ff0
commit 9379c7a89f0cfbccdbe788fa189a8b29533489f6
commit 2e1e62c8e5e79bce38b574dd4281e6a27fd7f665
commit ebbb0b103efdcf9b682c7fe8ea84b1cf355304c6
commit d4a4ff1c8e4cd752b517af7317077939f3a25dfe
commit 82a1f42f6aeb54e29b78aa0890ffd3087120264a
commit 765663b7faaedf7750ff7e59c3ce5dc51fdd1fca
commit 740f42a28f4cff9e009a17cc78666165ecca9293
commit e5df16d9428f5c6d2d0b1eff244d6c330ba9ef3a
commit 71344a718a9fda8c551cdc4381d354f9a9907f6f
commit fdc95df9c27dd4feb4bd74ac73e69eba49843db1
commit 121f17ac42df73f0869c1bdce090b31935ea37c8
commit 80a780ab279906ec4d3b3589bc324746f12d8dbd
commit c39ca69b84acbfe0a9e09f62f78f8d769d849940
commit 4506f0bc15f42d22fc50f75a098ff9133ffdbe6f
commit bcd9a5f8b9e2a705bc30e9b27ebf7b8a8625325f
commit 6fac3964a9092f0ac797cb30cce5fd44f80e5a09
commit 38298ce6fc35c65ba1364e4221a289dfa07bf5ea
commit 43aedbf4da1db9a9c2f9e160a4ae96dfda83774c
commit e2ad8e2df432498b1cee2af04df605723f4d75e6
commit ca0b954a4315ca2228001c439ae1062561c81989
commit fe381726c96d9a7c2bd6eafa30f22e968f532cd1
commit b00f55374ccb3e3e9af6ee46761b74acb648440d
commit 2eb841bdbca819017e7483cdfbb3d401751848a5
commit b13eb02ba8ba7617d41212121891756da31f1d8b
commit 0a33b11d26c6b7e975b54d469a739ffac29f67ab
commit 89fae8dc41d0a9bfc9fc1ea7ec03bf36e680774d
commit e84e697d92d9d84ca13b4440cea36abe9a2fe079
commit 55bf196f60dfc89488c5645d112a9176c6fe4708
commit f88e295e9094deee93066f32a4380307e8cb3dd9
commit 71eaac368dccf0619f7adc012063930e459b133e
commit 4f9b94d848696166011bead3109541ec2a523bb8
commit 6f582513ad15de729ee5c91dfef946f3c266a207
commit 4057e6ce3384e079f945a7f69797fc6c2864a90f
commit 96cdb5384d962a7d3be598f0bc9e2be73796e80c
commit 973fddea6f3e0d2f623f13fbd5d4d2b775e157f0
commit d297eedf83f5af96751c0da1e4355c19244a55a2
commit 0e41639d9a46b0285cd6381482037095f196d516
commit d728eda3c59daf2df71f9aae4bb2d3a1eef081da
commit 5d1c70bb6e40c52ee1ff8aa786389919e6fbb09d
commit 72f1de49ffb90b29748284f27f1d6b829ab1de95
commit 8e04cddf3b0ae37fb25267cfc054c1671e9ad6d4
commit bcbede6fbeb0e1eb85ccbb532faf06d3b31f0e73
commit cce3b573a52a41dd7face9dbf745f10f9bf4632b
commit 2222dcb0775d36de28992f56455ab3967b30d380
commit 568c69ae2fea27e0152e4ffeee7c6f354c61810f
commit 6716ccaf43e0fe2e759b84eb1cef4c684873a847
commit c33c794828f21217f72ce6fc140e0d34e0d56bff
commit 21f773515902d8b303df650674ad1c5243beb245
commit cb359c639dc099ce4316cec9013fd4b2ebeb990c
commit d57ba095e4f170963ec420d6cd780aa19459bc65
commit 274d4b96b12f78cef4f72a97a4967032233f6cae
commit 2c56a751845ddfd3078ebe79981aaaa182629163
commit e30cb0599799aac099209e3b045379613c80730e
commit 98703e4e061fb8715c7613cd227e32cdfd136b23
commit 4481913607e58196c48a4fef5e6f45350684ec3c
commit 0c3855ba8dad41c4113e73f77eb926e44577e4af
commit 1ff310b97f82437237a1d779195b0d90b90da070
commit ef3c36a6e025e9b16ca3321479ba016841fa17a0
commit 025654ae429112aabf6875870c06d6a7ee475104
commit 3ec61983aae0acbffbd5c22d83b2019f5c0eb516
commit 4e3f85d1c071ed174aa5a7477d499d576412df3b
commit c09b3bf7363db982b17950b8e4f27b0564817301
commit 184d83848242b2465b466a0a8e6eb58f1df10407
commit 03d400e7605e3d36abd3f949b25ba806cccff0cb
commit ea2c3c08554601b051d91403a241266e1cf490a5
commit fd21987274463a439c074b8f3c93d3b132e4c031
commit 44762718b391b5ad7bd226a7a3badfb93248ad3b
commit acbe761046628cbd5da03a4af84e8831c2afb8f2
commit 65dae8ff4c7d5dde1016d1736c6740a0f80e68e3
commit 85e41f1ed5d94a26fe4e57003c399936d291ed70
commit bf0097c5c9aec528da75e2b5fcede472165322bb
commit a99a4ff6ef205d125002fc7e0857074e4e6597b6
commit 0f48a4b83610cb0e4e0bc487800ab69f51b4aca6
commit c5f78ea8d768ce6f4471b0921728c2bd2dd95d93
commit 4a87495a82add04d57bef1d58dd0b55f10684ee0
commit c8f293541810e2542c5cbf082b7f7c2c2eaa47a8
commit 873bbf2da278f253df9fa78acb8df83fb05c7c52
commit 724617b94bd657d71f980c5bfe2d429fc0acc27b
commit 2bf0ce3bec8b22e4bac828aeaeade15884fa0f5c
commit 26518b39181876064850209ecdab48c0ee5924b1
commit 0250a7145e9c44c9f60d14aed7b66ed3a9de07f9
commit effee878a8661d7f4f497304ecf256e4b1790d1e
commit ed83fe2abcace898fdec5c2ba0455703178ac9a3
commit 12a6e62bfdcad8be49644b6dcf70c15e0e6bab6b
commit 111c1813a1ab70d5422594aec0fd5a5ba914c25e
commit 1af3d0a8e8b8db855ee3c98d210f8ee01b2bb80f
commit 8fb3e25c3dd1a2755c848ce7488c2f06a9fb9f97
commit 0b62af28f249b9c4036a05acfb053058dc02e2e2
commit 3291e09a463870610b8227f32b16b19a587edf33
commit f8a101ff09a70ec708b66b3f5bd4e7405283d14a
commit db8b4968a8d0e86c0f8bd7541359a4111a5b39ad
commit a6b4229d858ed4db6ad68854bb8a2f7d5ac9f138
commit 86b53032b180cc2cb6ec1460885f0769c47bff3f
commit 5311892a0ad1d301aafd53ca0154091b3eb407ea
commit 3e49de73fb89272dea01ba420c7ccbcf6b96aed7
commit 49ad6e913786fad6dd6209ef812437dc3009ebc4
commit 7aa83fbd712a6f08ffa67890061f26d140c2a84f
commit e8188c461ee015ba0b9ab2fc82dbd5ebca5a5532
commit a590f03d8de7c4cb7ce4916dc7f2fd10711faabe
commit 5b7826355e5b9f48eea29275215fc55165cd17c3
commit 6f612579be9d0ff527ca2e517e10bfaf08cc1860
commit 582c161cf38cf016cd573af6f087fa5fa786949b
commit 6e17c6de3ddf3073741d9c91a796ee696914d8a0
commit ff7ddcf0db48a7d9ae536eb0875428117be1d1f1
commit 675285ad819293844018aa8096ba9a6d7c77b90b
commit 1b722407a13b7f8658d2e26917791f32805980a2
commit 59bba51ec2a50e3dc5c3ee80f0a23207346303ff
commit 1e6d5dea34325df8dc204575cd0726cd5f2b864f
commit 1c519980aced3da1fae37c1339cf43b24eccdee7
commit fc133acc43728ad9777d2c4cc43f0cafcb92a461
commit 072030b1783056b5de8b0fac5303a5e9dbc6cfde
commit 1d7776cc148b9f2f3ebaf1181662ba695a29f639
commit 2da0036ea99bccb27f7fe3cf2aa2900860e9be46
commit 4ff96bcc0d40b66bf3ddd6010830e9a4f9b85d53
commit 7f03b1d14d51371fcbb8acba2f8bf037cd8807fa
commit b579ea632fcab97986f60d55a161c3e8e94a61cb
commit 8ef84c1a68a83440b62f78a24f64ab100f6bff7a
commit af22d6a869cc26b519bfdcd54293c53f2e491870
commit 570b295248b00c3cf4cf59e397de5cb2361e10c2
commit d4300362a66f2dacbf258e4ea233b79449821c24
commit 5c6d52ff4b61e5267b25be714eb5a9ba2a338199
commit 2036b34d4af9e09ed07f79c4e3f27952463e6f4e
commit 2faa3653d6657aedf357ca74c4e58c5768899269
commit 2aafcdd6a68f30c85ba6a9600e8a7447c0228e51
commit cfc7d8314b7e8fd6bcafa31deaa21ac9ad19494f
commit 274d205cb59f43815542e04b42a9e6d0b9b95eff
commit c35b6ea8f2ecfa9d775530b70d4e727869099a9c
commit cd2e31a9ab93d13c412a36c6e26811e0f830985b
commit 1e66a17ce546eabad753178bbd4175cb52bafca8
commit 5efe0f3eed4f6eeb2a75285b48aee0a75399e6d8
commit 02ff519e99fc90f6c9aed50def1b6d65e20c1875
commit 50a7c8765ca69543ffdbf855de0fd69aea769ccf
commit 2c7cd280e5c4a626690315a6fbb70b49124d8354
commit 67af691626425187822afe862614aefa304d3ff2
commit 803f31814f017de50f285efe90fecbb1668391a7
commit fc8e84a2408fd7bea6265e51545a8bfab1f4592d
commit baf65745aad33812fe151d5c9a77cf360775bca4
commit 150c213139fe122c941e3990af7fbe9bd60c5ae3
commit d6149086b45e150c170beaa4546495fd1880724c
commit 2dc84508f8c692d455b991a2feee85aa5d647568
commit a28eb4871acd4132a39a3e93b1e4f4bf500ffb41
commit 27fc10d1095f7a7de7c917638d7134033a190dd8
commit 1a3148b5f21b771c0ed362960fc97c92c6f9fc26
commit 1966bbfdfe476d271b338336254854c5edd5a907
commit f2c58529eca6edecf9dc1cab41ab367a83bfba7a
commit 613a7956deb3b1ffa2810c6d4c90ee9c3d743dbb
commit d5b5d6cb1d5ea7e2cf804aac40c23a860a2c28c3
commit c85c2c849ce776d5039a77d56936a216f9a07b57
commit b877934e5efc1ffd4f8098bb245853b3738e103f
commit 064329c595da56eff6d7a7e7760660c726433139
commit b75efe88b20c2be28b67e2821a794cc183e32374
commit 2e54154b9f27262efd0cb4f903cc7d5ad1fe9628
commit f781f661e8c99b0cb34129f2e374234d61864e77
commit fdffb7dbc74f48cb1d404d9ab0c9fd769a59caf0
commit f6cf3883df471abbcf1553127681dc244c8ff8dd
commit 00ae1491f970acc454be0df63f50942d94825860
commit 5874d11c29dbc2e9f21896c2635d0866e946c049
commit bd10668c5c68d8909526c591b57d75945026f529
commit 6725f33228077902ddac2a05e0ab361dee36e4ba
commit 5133c9e51de41bfa902153888e11add3342ede18
commit 15008052b34efaa86c1d56190ac73c4bf8c462f9
commit a2848d08742c8e8494675892c02c0d22acbe3cf8
commit 2f98e686ef59b5d19af5847d755798e2031bee3a
commit 5c413188c68da0e4bffc93de1c80257e20741e69
commit dde4c3d477d834212947f38519407df404acde4a
commit 6bf0961a008ac74b085f1690fba8520ac3b253ee
commit 113899c2669dff148b2a5bea4780123811aecc13
commit 27655b9bb9f0d9c32b8de8bec649b676898c52d5
commit 142256d2f41af6f7a9dbbe7db49eecc70858b1f7
commit d94303699921bda8141ad33554ae55b615ddd149
commit c177872cb056e0b499af4717d8d1977017fd53df
commit d934e537c14bfe1227ced6341472571f354383e8
commit 8a774fe912ff09e39c2d3a3589c729330113f388
commit dcb489bae65d92cfd26da22c7a0d6665b06ecc63
commit 31c7a3b378a136adc63296a2ff17645896fcf303
commit 188623076d0f1a500583d392b6187056bf7cc71a
commit e701156ccc6c7a5f104a968dda74cd6434178712
commit 938a06c8b7913455073506c33ae3bff029c3c4ef
commit 835a65f51790e1f72b1ab106ec89db9ac15b47d6
commit c2a88e8bdf5f6239948d75283d0ae7e0c7945b03
commit 2329cc7a101af1a844fbf706c0724c0baea38365
commit 864e029fea2b8e6583e026a6f93e8933ba626d42
commit 38d88d5e97c9032ebeca092b9372209f2ca92cdf
commit 05abb3be91d8788328231ee02973ab3d47f5e3d2
commit 785b3f667b4bf98804cad135005e964df0c750de
commit 2c27770a7bc88ef7f6614d11d96d8e62017d0b78
commit 60a2dae4902015f43d144f5a4710f655b2955b9b
commit 2ed5a4c4615b47c70dcd8d7d942207e5a607561d
commit d1792509e1031a6750f82bc7faa5fc9d7203b5b7
commit b42ae87a7b3878afaf4c3852ca66c025a5b996e0
commit 1ca67aba8d11c2849d395013e1fdce02918d5657
commit a4eb11824170d742531998f4ebd1c6a18b63db47
commit 068c8bb10f37bb84824625dbbda053a3a3e0d6e1
commit b9c2213cdf254fba71b6bd602a0afe051e554ad9
commit 87279fdf5ee0ad1360765ef70389d1c4d0f81bb6
commit 4f6d9e38c4d244ad106eb9ebd8c0e1215e866f35
commit 5a25cefc0920088bb9afafeb80ad3dcd84fe278b
commit a460beefe77d780ac48f19d39333852a7f93ffc1
commit 2a9482e55968ed7368afaa9c2133404069117320
commit 2387ccf43e3c6cb5dbd757c5ef410cca9f14b971
commit dcaa32e1f58473b9f4ac566fadd326956be83138
commit 8ecee4cbc72b53551c1d33251a48c912d70282ea
commit 8e78127143086bd89aa099740c1767d64fe80631
commit b13d3e9c6b62597a5c31fdc74febb3bc588893bf
commit ccff6d117d8dc8d8d86e8695a75e5f8b01e573bf
commit 752a281032b2d6f4564be827e082bde6f7d2fd4f
commit 2b5d1c29f6c4cb19369ef92881465e5ede75f4ef
commit ea293f823a8805735d9e00124df81a8f448ed1ae
commit f4f19c03cfb99b587cf35ff057be97cb98c5d251
commit 534a7915c6043c4abc3e4f44bc30576b361fa2e3
commit 28801cc85906ea62043e62c71def7f9daaf1c168
commit f7e3a1bafdea735050dfde00523cf505dc7fd309
commit 4e076c73e4f6e90816b30fcd4a0d7ab365087255
commit 3844ed5e78823eebb5f0f1edefc403310693d402
commit e354f67733115b4453268f61e6e072e9b1ea7a2f
commit 39b1320e5dc2b707dfb5c25b0298ce9d4fc05aea
commit 602816c3ee3fdbf4a72cb4d2e5b8b756a5104b0f
commit 9beb223f2a3d1bb2cc4dff71b9750d2b82f01ae5
commit c01aebeef3ce45f696ffa0a1303cea9b34babb45
commit 4a37c55b859a69f429bfa7fab4fc43ee470b60ed
commit 25b054c3c89cb6a7106a7982f0f70e83d0797dab
commit 4509e69a07761d08df7c46d4a08c8222522b1933
commit de612738e9771bd66aeb20044486c457c512f684
commit 38ac4e8385ffb275b1837986ca6c16f26ea028c5
commit bc1688fce2ec7726112276650762275392d1bab1
commit 2dedcf414bb01b8d966eb445db1d181d92304fb2
commit 8e4bc0284cd8df25556671796acea5442f246dfb
commit 75da46c1fad5f88e24c08995f6e303e9b9fe8f12
commit 0dd9c514d2ce19c896daffd76de008a68982de23
commit 46d14e17095237007b59f56aae2d81ae2dcb0f93
commit d14560ac1b595aa2e792365e91fea6aeaee66c2b
commit b2f59e9026038a5bbcbc0019fa58f963138211ee
commit 78a6ccd65fa3a7cc697810db079cc4b84dff03d5
commit 592b228f12e15867a63e3a6eeeb54c5c12662a62
commit 824df77ab2107d8d4740b834b276681a41ae1ac8
commit 0fde2f23516a00fd90dfb980b66b4665fcbfa659
commit 6a35f22d222528e1b157c6978c9424d2f8cbe0a1
commit a337b64f0d5717248a0c894e2618e658e6a9de9f
commit 0bc057eae2610c275361766a064a23cc2758f3ff
commit c71b7aa8619a0c9700132d0733e33999fb614339
commit e9d699af3f65d62cf195f0e7a039400093ab2af2
commit 1cb9e2ef66d53b020842b18762e30d0eb4384de8
commit e4060dad253352382b20420d8ef98daab24dbc17
commit 421dabcad1c69e02a41c0d601aefbc29ee3f5368
commit 062ff85b11da63ecccf7c17778ad225e7b5d06bf
commit 1958b0f95a35e4443573c4c3ec2efd89d2d00d82
commit 3c6bd1b7e2043fb00ce6b622709d176609431406
commit d5712cd22b9cf109fded1b7f178f4c1888c8b84b
commit 08fffa74d9772d9538338be3f304006c94dde6f0
commit 730d44e1fa306a20746ad4a85da550662aed9daa
commit d3de41ee5febe5c2d9989fe9810bce2bb54a3a8e
commit 7ad1dfc144cbf62702fd07838da8fd8a77921083
commit bd60e2eafd8fb053948b6e23e8167baf7a159750
commit 61319b8e3b58a7167cf146313fd4523fe72586bc
commit 96b020e2163fb2197266b2f71b1007495206e6bb
commit a73ea79a0c94bacfab4df23a1043644d14f56591
commit 90e065677e0362a777b9db97ea21d43a39211399
commit 3bb575572bf498a9d39e9d1ca5c06cc3152928a1
commit 2e91e731f24817bc55f9c9acc95a8939c4077b05
commit a6dea2d64ff92851e68cd4e20a35f6534286e016
commit 616f92d188ee7142a95a52068efdbea82645f859
commit 091ae5473f96ced844af6ba39b94757359b12348
commit 07dd476f6116966cb2006e25fdcf48f0715115ff
commit 8ba371c778cbb3f0399b8ba8919bf89e462cdda3
commit fbe8ff726a1de82d87524f306b0f6491e13d7dfa
commit ae6546835efaa7195aaaa10e5ff4e695cd82a816
commit e8470c0a7bcaa82f78ad34282d662dd7bd9630c2
commit 5598c9bfdb81f40f2f5d769b342d25bff74b07a6
commit 2002eb6d3ea954dde9f8a223018d5335779937d0
commit 423ffe62c06ae241ad460f4629dddb9dcf55e060
commit b6360a5ec31d160d58c1a64387b323b556cedca8
commit 0d6f374c0c66e8ecc2897f0837d2cb4bd169bb42
commit 6a92761a86817ad15c9a562e2a809386237fae3e
commit 8d036427f0042a91136e6f19a39542eedec4e96c
commit d621114ffba56b032e91ee82d6469b2f9f0b2427
commit b25fdc048cb2250c7e859184f54d3261b55ad099
commit f1740b1ab2703b2a057da7cf33b03297e0381aa0
commit a7b7d9e8aee4f71b4c7151702fd74237b8cef989
commit 6ecc10295abb2fdd9c21dd17b34e4cacfd829cd4
commit 1b254b791d7b7dea6e8adc887fbbd51746d8bb27
commit 50b6f2c8297793f7f3315623db78dcff85158e96
commit dd64d8ae0f8f271e8629e9d2ba9971081583c394
commit be48306f764dc84906a5054e60e6cfa9889fb44d
commit 68c60b343301c5a150e6da4c0c9e4123b2b9c017
commit c611589b4259ed63b9b77be6872b1ce07ec0ac16
commit 20c827683de05a6c7e7ae7fae586899690693251
commit 5ad1ab30ac0809d2963ddcf39ac34317a24a2f17
commit 2872144aec04baa7e43ecd2a60f7f0be3aa843fd
commit e0d25c591ac676ece0e1ad6bbd72a159b9355598
commit e531fdb5cd5ee2564b7fe10c8a9219e2b2fac61e
commit 14abdfae508228a7307f7491b5c4215ae70c6542
commit f9e96bf1905479f18e83a3a4c314a8dfa56ede2c
commit a94e7ccfc400c024976f3c2f31689ed843498b7c
commit 1dcc437427bbcebc8381226352f7ade08a271191
commit ce22e89eb0f541b9998f67bd51d311275a3ee51a
commit 59fe2029b9e05cd490eaf972053dd86f96f77869
Signed-off-by: Mika Penttilä <mpenttil@redhat.com>
2023-09-04 08:27:27 +00:00
|
|
|
bool itc;
|
|
|
|
unsigned char pixel_repeat;
|
2012-11-21 14:29:29 +00:00
|
|
|
enum hdmi_colorspace colorspace;
|
|
|
|
enum hdmi_scan_mode scan_mode;
|
|
|
|
enum hdmi_colorimetry colorimetry;
|
|
|
|
enum hdmi_picture_aspect picture_aspect;
|
|
|
|
enum hdmi_active_aspect active_aspect;
|
|
|
|
enum hdmi_extended_colorimetry extended_colorimetry;
|
|
|
|
enum hdmi_quantization_range quantization_range;
|
|
|
|
enum hdmi_nups nups;
|
|
|
|
unsigned char video_code;
|
|
|
|
enum hdmi_ycc_quantization_range ycc_quantization_range;
|
|
|
|
enum hdmi_content_type content_type;
|
|
|
|
unsigned short top_bar;
|
|
|
|
unsigned short bottom_bar;
|
|
|
|
unsigned short left_bar;
|
|
|
|
unsigned short right_bar;
|
|
|
|
};
|
|
|
|
|
2019-05-16 14:10:09 +00:00
|
|
|
/* DRM Infoframe as per CTA 861.G spec */
|
|
|
|
struct hdmi_drm_infoframe {
|
|
|
|
enum hdmi_infoframe_type type;
|
|
|
|
unsigned char version;
|
|
|
|
unsigned char length;
|
|
|
|
enum hdmi_eotf eotf;
|
|
|
|
enum hdmi_metadata_type metadata_type;
|
|
|
|
struct {
|
|
|
|
u16 x, y;
|
|
|
|
} display_primaries[3];
|
|
|
|
struct {
|
|
|
|
u16 x, y;
|
|
|
|
} white_point;
|
|
|
|
u16 max_display_mastering_luminance;
|
|
|
|
u16 min_display_mastering_luminance;
|
|
|
|
u16 max_cll;
|
|
|
|
u16 max_fall;
|
|
|
|
};
|
|
|
|
|
2020-02-26 11:24:21 +00:00
|
|
|
void hdmi_avi_infoframe_init(struct hdmi_avi_infoframe *frame);
|
2012-11-21 14:29:29 +00:00
|
|
|
ssize_t hdmi_avi_infoframe_pack(struct hdmi_avi_infoframe *frame, void *buffer,
|
|
|
|
size_t size);
|
2018-09-21 14:33:32 +00:00
|
|
|
ssize_t hdmi_avi_infoframe_pack_only(const struct hdmi_avi_infoframe *frame,
|
|
|
|
void *buffer, size_t size);
|
|
|
|
int hdmi_avi_infoframe_check(struct hdmi_avi_infoframe *frame);
|
2019-05-16 14:10:09 +00:00
|
|
|
int hdmi_drm_infoframe_init(struct hdmi_drm_infoframe *frame);
|
|
|
|
ssize_t hdmi_drm_infoframe_pack(struct hdmi_drm_infoframe *frame, void *buffer,
|
|
|
|
size_t size);
|
|
|
|
ssize_t hdmi_drm_infoframe_pack_only(const struct hdmi_drm_infoframe *frame,
|
|
|
|
void *buffer, size_t size);
|
|
|
|
int hdmi_drm_infoframe_check(struct hdmi_drm_infoframe *frame);
|
2020-05-14 06:07:19 +00:00
|
|
|
int hdmi_drm_infoframe_unpack_only(struct hdmi_drm_infoframe *frame,
|
|
|
|
const void *buffer, size_t size);
|
2012-11-21 14:29:29 +00:00
|
|
|
|
|
|
|
enum hdmi_spd_sdi {
|
|
|
|
HDMI_SPD_SDI_UNKNOWN,
|
|
|
|
HDMI_SPD_SDI_DSTB,
|
|
|
|
HDMI_SPD_SDI_DVDP,
|
|
|
|
HDMI_SPD_SDI_DVHS,
|
|
|
|
HDMI_SPD_SDI_HDDVR,
|
|
|
|
HDMI_SPD_SDI_DVC,
|
|
|
|
HDMI_SPD_SDI_DSC,
|
|
|
|
HDMI_SPD_SDI_VCD,
|
|
|
|
HDMI_SPD_SDI_GAME,
|
|
|
|
HDMI_SPD_SDI_PC,
|
|
|
|
HDMI_SPD_SDI_BD,
|
|
|
|
HDMI_SPD_SDI_SACD,
|
|
|
|
HDMI_SPD_SDI_HDDVD,
|
|
|
|
HDMI_SPD_SDI_PMP,
|
|
|
|
};
|
|
|
|
|
|
|
|
struct hdmi_spd_infoframe {
|
|
|
|
enum hdmi_infoframe_type type;
|
|
|
|
unsigned char version;
|
|
|
|
unsigned char length;
|
|
|
|
char vendor[8];
|
|
|
|
char product[16];
|
|
|
|
enum hdmi_spd_sdi sdi;
|
|
|
|
};
|
|
|
|
|
|
|
|
int hdmi_spd_infoframe_init(struct hdmi_spd_infoframe *frame,
|
|
|
|
const char *vendor, const char *product);
|
|
|
|
ssize_t hdmi_spd_infoframe_pack(struct hdmi_spd_infoframe *frame, void *buffer,
|
|
|
|
size_t size);
|
2018-09-21 14:33:32 +00:00
|
|
|
ssize_t hdmi_spd_infoframe_pack_only(const struct hdmi_spd_infoframe *frame,
|
|
|
|
void *buffer, size_t size);
|
|
|
|
int hdmi_spd_infoframe_check(struct hdmi_spd_infoframe *frame);
|
2012-11-21 14:29:29 +00:00
|
|
|
|
|
|
|
enum hdmi_audio_coding_type {
|
|
|
|
HDMI_AUDIO_CODING_TYPE_STREAM,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_PCM,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_AC3,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_MPEG1,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_MP3,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_MPEG2,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_AAC_LC,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_DTS,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_ATRAC,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_DSD,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_EAC3,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_DTS_HD,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_MLP,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_DST,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_WMA_PRO,
|
2014-12-19 12:14:20 +00:00
|
|
|
HDMI_AUDIO_CODING_TYPE_CXT,
|
2012-11-21 14:29:29 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_audio_sample_size {
|
|
|
|
HDMI_AUDIO_SAMPLE_SIZE_STREAM,
|
|
|
|
HDMI_AUDIO_SAMPLE_SIZE_16,
|
|
|
|
HDMI_AUDIO_SAMPLE_SIZE_20,
|
|
|
|
HDMI_AUDIO_SAMPLE_SIZE_24,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_audio_sample_frequency {
|
|
|
|
HDMI_AUDIO_SAMPLE_FREQUENCY_STREAM,
|
|
|
|
HDMI_AUDIO_SAMPLE_FREQUENCY_32000,
|
|
|
|
HDMI_AUDIO_SAMPLE_FREQUENCY_44100,
|
|
|
|
HDMI_AUDIO_SAMPLE_FREQUENCY_48000,
|
|
|
|
HDMI_AUDIO_SAMPLE_FREQUENCY_88200,
|
|
|
|
HDMI_AUDIO_SAMPLE_FREQUENCY_96000,
|
|
|
|
HDMI_AUDIO_SAMPLE_FREQUENCY_176400,
|
|
|
|
HDMI_AUDIO_SAMPLE_FREQUENCY_192000,
|
|
|
|
};
|
|
|
|
|
|
|
|
enum hdmi_audio_coding_type_ext {
|
2014-12-19 12:14:22 +00:00
|
|
|
/* Refer to Audio Coding Type (CT) field in Data Byte 1 */
|
|
|
|
HDMI_AUDIO_CODING_TYPE_EXT_CT,
|
2014-12-19 12:14:20 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* The next three CXT values are defined in CEA-861-E only.
|
|
|
|
* They do not exist in older versions, and in CEA-861-F they are
|
|
|
|
* defined as 'Not in use'.
|
|
|
|
*/
|
2012-11-21 14:29:29 +00:00
|
|
|
HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND,
|
2014-12-19 12:14:20 +00:00
|
|
|
|
|
|
|
/* The following CXT values are only defined in CEA-861-F. */
|
|
|
|
HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_V2,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_EXT_DRA,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_SURROUND,
|
|
|
|
HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC_SURROUND = 10,
|
2012-11-21 14:29:29 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct hdmi_audio_infoframe {
|
|
|
|
enum hdmi_infoframe_type type;
|
|
|
|
unsigned char version;
|
|
|
|
unsigned char length;
|
|
|
|
unsigned char channels;
|
|
|
|
enum hdmi_audio_coding_type coding_type;
|
|
|
|
enum hdmi_audio_sample_size sample_size;
|
|
|
|
enum hdmi_audio_sample_frequency sample_frequency;
|
|
|
|
enum hdmi_audio_coding_type_ext coding_type_ext;
|
|
|
|
unsigned char channel_allocation;
|
|
|
|
unsigned char level_shift_value;
|
|
|
|
bool downmix_inhibit;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
int hdmi_audio_infoframe_init(struct hdmi_audio_infoframe *frame);
|
|
|
|
ssize_t hdmi_audio_infoframe_pack(struct hdmi_audio_infoframe *frame,
|
|
|
|
void *buffer, size_t size);
|
2018-09-21 14:33:32 +00:00
|
|
|
ssize_t hdmi_audio_infoframe_pack_only(const struct hdmi_audio_infoframe *frame,
|
|
|
|
void *buffer, size_t size);
|
Merge DRM changes from upstream v6.0.8..v6.1
NOTE: This commit does not compile due to missing RHEL-specific fix-ups,
which are split out into separate Git commits following this one.
If git bisect selected this commit, run "git bisect skip" and try again.
Repeat this until it selects a commit which compiles.
This commit was generated using:
rhdrm-merge-drm v6.1 2160457
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2160457
Conflicts:
drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c
drivers/gpu/drm/amd/display/dc/dcn32/dcn32_resource.c
drivers/gpu/drm/amd/display/dc/dcn321/dcn321_resource.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c
drivers/gpu/drm/ast/ast_mode.c
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/gt/intel_gt_sysfs.c
drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
drivers/gpu/drm/i915/gt/intel_workarounds.c
drivers/gpu/drm/i915/gt/uc/intel_guc.c
drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c
drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
drivers/gpu/drm/i915/gvt/kvmgt.c
drivers/gpu/drm/mgag200/mgag200_pll.c
Conflict resolution:
diff --cc drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
index ecb8db731081,253ea6b159df..6ebed4d58ced
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h
@@@ -162,6 -162,7 +162,8 @@@
#define AMDGPU_VCN_FW_LOGGING_FLAG (1 << 10)
#define AMDGPU_VCN_SMU_VERSION_INFO_FLAG (1 << 11)
#define AMDGPU_VCN_SMU_DPM_INTERFACE_FLAG (1 << 11)
++#define AMDGPU_VCN_SMU_DPM_INTERFACE_FLAG (1 << 11)
+ #define AMDGPU_VCN_VF_RB_SETUP_FLAG (1 << 14)
#define AMDGPU_VCN_IB_FLAG_DECODE_BUFFER 0x00000001
#define AMDGPU_VCN_CMD_FLAG_MSG_BUFFER 0x00000001
diff --cc drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c
index 3128c111c619,d0b46a3e0155..6f6f6e5ad14b
--- a/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn32/dcn32_hwseq.c
@@@ -206,8 -206,7 +206,8 @@@ static bool dcn32_check_no_memory_reque
*/
static uint32_t dcn32_calculate_cab_allocation(struct dc *dc, struct dc_state *ctx)
{
- uint8_t i;
- int j;
++
+ int i, j;
struct dc_stream_state *stream = NULL;
struct dc_plane_state *plane = NULL;
uint32_t cursor_size = 0;
@@@ -237,24 -236,24 +237,27 @@@
mblk_width = DCN3_2_MBLK_WIDTH;
mblk_height = bytes_per_pixel == 4 ? DCN3_2_MBLK_HEIGHT_4BPE : DCN3_2_MBLK_HEIGHT_8BPE;
++
/* full_vp_width_blk_aligned = FLOOR(vp_x_start + full_vp_width + blk_width - 1, blk_width) -
* FLOOR(vp_x_start, blk_width)
*
* mall_alloc_width_blk_aligned_l/c = full_vp_width_blk_aligned_l/c
*/
mall_alloc_width_blk_aligned = ((pipe->plane_res.scl_data.viewport.x +
- pipe->plane_res.scl_data.viewport.width + mblk_width - 1) / mblk_width * mblk_width) +
+ pipe->plane_res.scl_data.viewport.width + mblk_width - 1) / mblk_width * mblk_width) -
(pipe->plane_res.scl_data.viewport.x / mblk_width * mblk_width);
++
/* full_vp_height_blk_aligned = FLOOR(vp_y_start + full_vp_height + blk_height - 1, blk_height) -
* FLOOR(vp_y_start, blk_height)
*
* mall_alloc_height_blk_aligned_l/c = full_vp_height_blk_aligned_l/c
*/
mall_alloc_height_blk_aligned = ((pipe->plane_res.scl_data.viewport.y +
- pipe->plane_res.scl_data.viewport.height + mblk_height - 1) / mblk_height * mblk_height) +
+ pipe->plane_res.scl_data.viewport.height + mblk_height - 1) / mblk_height * mblk_height) -
(pipe->plane_res.scl_data.viewport.y / mblk_height * mblk_height);
++
num_mblks = ((mall_alloc_width_blk_aligned + mblk_width - 1) / mblk_width) *
((mall_alloc_height_blk_aligned + mblk_height - 1) / mblk_height);
diff --cc drivers/gpu/drm/ast/ast_mode.c
index b93181a42048,1bc0220e6783..ae5a4cce972f
--- a/drivers/gpu/drm/ast/ast_mode.c
+++ b/drivers/gpu/drm/ast/ast_mode.c
@@@ -42,9 -40,8 +42,8 @@@
#include <drm/drm_fourcc.h>
#include <drm/drm_gem_atomic_helper.h>
#include <drm/drm_gem_framebuffer_helper.h>
-#include <drm/drm_gem_vram_helper.h>
+#include <drm/drm_gem_shmem_helper.h>
#include <drm/drm_managed.h>
- #include <drm/drm_plane_helper.h>
#include <drm/drm_probe_helper.h>
#include <drm/drm_simple_kms_helper.h>
@@@ -604,31 -550,31 +603,31 @@@ static const uint32_t ast_primary_plane
static int ast_primary_plane_helper_atomic_check(struct drm_plane *plane,
struct drm_atomic_state *state)
{
- struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state,
- plane);
- struct drm_crtc_state *crtc_state;
- struct ast_crtc_state *ast_crtc_state;
+ struct drm_device *dev = plane->dev;
+ struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state, plane);
+ struct drm_crtc_state *new_crtc_state = NULL;
+ struct ast_crtc_state *new_ast_crtc_state;
int ret;
- if (!new_plane_state->crtc)
- return 0;
-
- crtc_state = drm_atomic_get_new_crtc_state(state,
- new_plane_state->crtc);
+ if (new_plane_state->crtc)
+ new_crtc_state = drm_atomic_get_new_crtc_state(state, new_plane_state->crtc);
- ret = drm_atomic_helper_check_plane_state(new_plane_state, crtc_state,
+ ret = drm_atomic_helper_check_plane_state(new_plane_state, new_crtc_state,
- DRM_PLANE_HELPER_NO_SCALING,
- DRM_PLANE_HELPER_NO_SCALING,
+ DRM_PLANE_NO_SCALING,
+ DRM_PLANE_NO_SCALING,
false, true);
- if (ret)
+ if (ret) {
return ret;
+ } else if (!new_plane_state->visible) {
+ if (drm_WARN_ON(dev, new_plane_state->crtc)) /* cannot legally happen */
+ return -EINVAL;
+ else
+ return 0;
+ }
- if (!new_plane_state->visible)
- return 0;
-
- ast_crtc_state = to_ast_crtc_state(crtc_state);
+ new_ast_crtc_state = to_ast_crtc_state(new_crtc_state);
- ast_crtc_state->format = new_plane_state->fb->format;
+ new_ast_crtc_state->format = new_plane_state->fb->format;
return 0;
}
@@@ -850,22 -774,29 +849,22 @@@ static const uint32_t ast_cursor_plane_
static int ast_cursor_plane_helper_atomic_check(struct drm_plane *plane,
struct drm_atomic_state *state)
{
- struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state,
- plane);
- struct drm_framebuffer *fb = new_plane_state->fb;
- struct drm_crtc_state *crtc_state;
+ struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state, plane);
+ struct drm_framebuffer *new_fb = new_plane_state->fb;
+ struct drm_crtc_state *new_crtc_state = NULL;
int ret;
- if (!new_plane_state->crtc)
- return 0;
-
- crtc_state = drm_atomic_get_new_crtc_state(state,
- new_plane_state->crtc);
+ if (new_plane_state->crtc)
+ new_crtc_state = drm_atomic_get_new_crtc_state(state, new_plane_state->crtc);
- ret = drm_atomic_helper_check_plane_state(new_plane_state, crtc_state,
+ ret = drm_atomic_helper_check_plane_state(new_plane_state, new_crtc_state,
- DRM_PLANE_HELPER_NO_SCALING,
- DRM_PLANE_HELPER_NO_SCALING,
+ DRM_PLANE_NO_SCALING,
+ DRM_PLANE_NO_SCALING,
true, true);
- if (ret)
+ if (ret || !new_plane_state->visible)
return ret;
- if (!new_plane_state->visible)
- return 0;
-
- if (fb->width > AST_MAX_HWC_WIDTH || fb->height > AST_MAX_HWC_HEIGHT)
+ if (new_fb->width > AST_MAX_HWC_WIDTH || new_fb->height > AST_MAX_HWC_HEIGHT)
return -EINVAL;
return 0;
diff --cc drivers/gpu/drm/i915/display/intel_display.c
index bd629f2da6eb,de77054195c6..d3bfa2a675b8
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@@ -3724,9 -3730,9 +3730,10 @@@ static u8 bigjoiner_pipes(struct drm_i9
else if (DISPLAY_VER(i915) >= 11)
pipes = BIT(PIPE_B) | BIT(PIPE_C);
else
++
pipes = 0;
- return pipes & RUNTIME_INFO(i915)->pipe_mask;
+ return pipes & INTEL_INFO(i915)->display.pipe_mask;
}
static bool transcoder_ddi_func_is_enabled(struct drm_i915_private *dev_priv,
diff --cc drivers/gpu/drm/i915/gt/intel_gt_sysfs.c
index 1e52ea387dc5,d651ccd0ab20..fb733fa8a491
--- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs.c
@@@ -22,14 -22,11 +22,9 @@@ bool is_object_gt(struct kobject *kobj
return !strncmp(kobj->name, "gt", 2);
}
- static struct intel_gt *kobj_to_gt(struct kobject *kobj)
- {
- return container_of(kobj, struct intel_gt, sysfs_gt);
- }
-
-struct intel_gt *intel_gt_sysfs_get_drvdata(struct device *dev,
+struct intel_gt *intel_gt_sysfs_get_drvdata(struct kobject *kobj,
const char *name)
{
- struct kobject *kobj = &dev->kobj;
-
/*
* We are interested at knowing from where the interface
* has been called, whether it's called from gt/ or from
diff --cc drivers/gpu/drm/i915/gt/intel_gt_sysfs.h
index 6bee2c6a894d,6232923a420d..c3a123faee98
--- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs.h
+++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs.h
@@@ -22,9 -23,14 +23,14 @@@ intel_gt_create_kobj(struct intel_gt *g
struct kobject *dir,
const char *name);
+ static inline struct intel_gt *kobj_to_gt(struct kobject *kobj)
+ {
+ return container_of(kobj, struct intel_gt, sysfs_gt);
+ }
+
void intel_gt_sysfs_register(struct intel_gt *gt);
void intel_gt_sysfs_unregister(struct intel_gt *gt);
-struct intel_gt *intel_gt_sysfs_get_drvdata(struct device *dev,
+struct intel_gt *intel_gt_sysfs_get_drvdata(struct kobject *kobj,
const char *name);
#endif /* SYSFS_GT_H */
diff --cc drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
index 1fef52e7c2c8,180dd6f3ef57..426da98a96ed
--- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c
@@@ -682,10 -726,37 +682,39 @@@ static const struct attribute *media_pe
NULL
};
+ static ssize_t
+ default_min_freq_mhz_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
+ {
+ struct intel_gt *gt = kobj_to_gt(kobj->parent);
+
+ return sysfs_emit(buf, "%u\n", gt->defaults.min_freq);
+ }
+
+ static struct kobj_attribute default_min_freq_mhz =
+ __ATTR(rps_min_freq_mhz, 0444, default_min_freq_mhz_show, NULL);
+
+ static ssize_t
+ default_max_freq_mhz_show(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
+ {
+ struct intel_gt *gt = kobj_to_gt(kobj->parent);
+
+ return sysfs_emit(buf, "%u\n", gt->defaults.max_freq);
+ }
+
+ static struct kobj_attribute default_max_freq_mhz =
+ __ATTR(rps_max_freq_mhz, 0444, default_max_freq_mhz_show, NULL);
+
+ static const struct attribute * const rps_defaults_attrs[] = {
+ &default_min_freq_mhz.attr,
+ &default_max_freq_mhz.attr,
+ NULL
+ };
+
-static int intel_sysfs_rps_init(struct intel_gt *gt, struct kobject *kobj,
- const struct attribute * const *attrs)
+static int intel_sysfs_rps_init(struct intel_gt *gt, struct kobject *kobj)
{
+ const struct attribute * const *attrs;
+ struct attribute *vlv_attr;
int ret;
if (GRAPHICS_VER(gt->i915) < 6)
diff --cc drivers/gpu/drm/i915/gt/intel_lrc.c
index 070cec4ff8a4,3955292483a6..d3ac73c3559f
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@@ -1278,12 -1298,13 +1298,17 @@@ gen12_emit_indirect_ctx_rcs(const struc
/* hsdes: 1809175790 */
if (!HAS_FLAT_CCS(ce->engine->i915))
- cs = gen12_emit_aux_table_inv(cs, GEN12_GFX_CCS_AUX_NV);
+ cs = gen12_emit_aux_table_inv(ce->engine->gt,
+ cs, GEN12_GFX_CCS_AUX_NV);
+
+ /* Wa_16014892111 */
+ if (IS_DG2(ce->engine->i915))
+ cs = dg2_emit_draw_watermark_setting(cs);
+ /* Wa_16014892111 */
+ if (IS_DG2(ce->engine->i915))
+ cs = dg2_emit_draw_watermark_setting(cs);
+
return cs;
}
diff --cc drivers/gpu/drm/i915/gt/intel_workarounds.c
index 1b6479b5bd32,a821e3d405db..21cd1a4e1823
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@@ -2108,15 -2108,18 +2108,22 @@@ rcs_engine_wa_init(struct intel_engine_
if (IS_DG2_GRAPHICS_STEP(i915, G11, STEP_A0, STEP_B0)) {
/* Wa_14013392000:dg2_g11 */
wa_masked_en(wal, GEN7_ROW_CHICKEN2, GEN12_ENABLE_LARGE_GRF_MODE);
+ }
- /* Wa_16011620976:dg2_g11 */
- wa_write_or(wal, LSC_CHICKEN_BIT_0_UDW, DIS_CHAIN_2XSIMD8);
+ if (IS_DG2_GRAPHICS_STEP(i915, G10, STEP_B0, STEP_FOREVER) ||
+ IS_DG2_G11(i915) || IS_DG2_G12(i915)) {
+ /* Wa_1509727124:dg2 */
+ wa_masked_en(wal, GEN10_SAMPLER_MODE,
+ SC_DISABLE_POWER_OPTIMIZATION_EBB);
}
+ if (IS_DG2_GRAPHICS_STEP(i915, G10, STEP_B0, STEP_FOREVER) ||
+ IS_DG2_G11(i915) || IS_DG2_G12(i915)) {
+ /* Wa_1509727124:dg2 */
+ wa_masked_en(wal, GEN10_SAMPLER_MODE,
+ SC_DISABLE_POWER_OPTIMIZATION_EBB);
+ }
+
if (IS_DG2_GRAPHICS_STEP(i915, G10, STEP_A0, STEP_B0) ||
IS_DG2_GRAPHICS_STEP(i915, G11, STEP_A0, STEP_B0)) {
/* Wa_14012419201:dg2 */
diff --cc drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
index 844dee09a321,1db59eeb34db..1ac0e66d39e5
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c
@@@ -4209,103 -4177,18 +4185,111 @@@ int intel_guc_submission_setup(struct i
return 0;
}
+struct scheduling_policy {
+ /* internal data */
+ u32 max_words, num_words;
+ u32 count;
+ /* API data */
+ struct guc_update_scheduling_policy h2g;
+};
+
+static u32 __guc_scheduling_policy_action_size(struct scheduling_policy *policy)
+{
+ u32 *start = (void *)&policy->h2g;
+ u32 *end = policy->h2g.data + policy->num_words;
+ size_t delta = end - start;
+
+ return delta;
+}
+
+static struct scheduling_policy *__guc_scheduling_policy_start_klv(struct scheduling_policy *policy)
+{
+ policy->h2g.header.action = INTEL_GUC_ACTION_UPDATE_SCHEDULING_POLICIES_KLV;
+ policy->max_words = ARRAY_SIZE(policy->h2g.data);
+ policy->num_words = 0;
+ policy->count = 0;
+
+ return policy;
+}
+
+static void __guc_scheduling_policy_add_klv(struct scheduling_policy *policy,
+ u32 action, u32 *data, u32 len)
+{
+ u32 *klv_ptr = policy->h2g.data + policy->num_words;
+
+ GEM_BUG_ON((policy->num_words + 1 + len) > policy->max_words);
+ *(klv_ptr++) = FIELD_PREP(GUC_KLV_0_KEY, action) |
+ FIELD_PREP(GUC_KLV_0_LEN, len);
+ memcpy(klv_ptr, data, sizeof(u32) * len);
+ policy->num_words += 1 + len;
+ policy->count++;
+}
+
+static int __guc_action_set_scheduling_policies(struct intel_guc *guc,
+ struct scheduling_policy *policy)
+{
+ int ret;
+
+ ret = intel_guc_send(guc, (u32 *)&policy->h2g,
+ __guc_scheduling_policy_action_size(policy));
+ if (ret < 0)
+ return ret;
+
+ if (ret != policy->count) {
+ drm_warn(&guc_to_gt(guc)->i915->drm, "GuC global scheduler policy processed %d of %d KLVs!",
+ ret, policy->count);
+ if (ret > policy->count)
+ return -EPROTO;
+ }
+
+ return 0;
+}
+
+static int guc_init_global_schedule_policy(struct intel_guc *guc)
+{
+ struct scheduling_policy policy;
+ struct intel_gt *gt = guc_to_gt(guc);
+ intel_wakeref_t wakeref;
+ int ret = 0;
+
+ if (GET_UC_VER(guc) < MAKE_UC_VER(70, 3, 0))
+ return 0;
+
+ __guc_scheduling_policy_start_klv(&policy);
+
+ with_intel_runtime_pm(>->i915->runtime_pm, wakeref) {
+ u32 yield[] = {
+ GLOBAL_SCHEDULE_POLICY_RC_YIELD_DURATION,
+ GLOBAL_SCHEDULE_POLICY_RC_YIELD_RATIO,
+ };
+
+ __guc_scheduling_policy_add_klv(&policy,
+ GUC_SCHEDULING_POLICIES_KLV_ID_RENDER_COMPUTE_YIELD,
+ yield, ARRAY_SIZE(yield));
+
+ ret = __guc_action_set_scheduling_policies(guc, &policy);
+ if (ret)
+ i915_probe_error(gt->i915,
+ "Failed to configure global scheduling policies: %pe!\n",
+ ERR_PTR(ret));
+ }
+
+ return ret;
+}
+
void intel_guc_submission_enable(struct intel_guc *guc)
{
+ struct intel_gt *gt = guc_to_gt(guc);
+
+ /* Enable and route to GuC */
+ if (GRAPHICS_VER(gt->i915) >= 12)
+ intel_uncore_write(gt->uncore, GEN12_GUC_SEM_INTR_ENABLES,
+ GUC_SEM_INTR_ROUTE_TO_GUC |
+ GUC_SEM_INTR_ENABLE_ALL);
+
guc_init_lrc_mapping(guc);
guc_init_engine_stats(guc);
+ guc_init_global_schedule_policy(guc);
}
void intel_guc_submission_disable(struct intel_guc *guc)
diff --cc drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
index fb309ae43001,b91ad4aede1f..24aac2f32dd1
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c
@@@ -339,6 -347,6 +347,7 @@@ bad
fw_blobs[i].blob.patch);
uc_fw->file_selected.path = NULL;
++
}
}
}
diff --cc drivers/gpu/drm/panel/panel-sitronix-st7701.c
index 098955526b68,c481daa4bbce..38a0ba4a1b3f
--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
@@@ -384,18 -762,10 +762,18 @@@ static int st7701_dsi_probe(struct mipi
st7701->dsi = dsi;
st7701->desc = desc;
- return mipi_dsi_attach(dsi);
+ ret = mipi_dsi_attach(dsi);
+ if (ret)
+ goto err_attach;
+
+ return 0;
+
+err_attach:
+ drm_panel_remove(&st7701->panel);
+ return ret;
}
- static int st7701_dsi_remove(struct mipi_dsi_device *dsi)
+ static void st7701_dsi_remove(struct mipi_dsi_device *dsi)
{
struct st7701 *st7701 = mipi_dsi_get_drvdata(dsi);
Commit list:
commit 40cdb02cb9f965732eb543d47f15bef8d10f0f5f
commit 6dc548745d5b5102e3c53dc5097296ac270b6c69
commit 859161b952a453b86362f168fadef72a8ba31a05
commit d72ac4bbf4cc8f6b50526ce400861f176659884f
commit 1fd452c403ca2cd9dcbd8465f9f72be52e15ac1a
commit 79abca2b399009eb8d12c652d0f0f7a9c7a06289
commit 96dc635d5538055cb6ccd7b6e9290dfcfc385f97
commit dc1dc76bd9a48c6aba3efae5eadb9a884043966e
commit 356d2c8e76ebb1134a0685ce4b923d8201337475
commit 4c59b0805e9bf873fd3f5dca4fc53d8c220e39b4
commit e5bd7e3e4a68f0befe53f59954b25eec9a792d60
commit ba71593217b5b03c9e3385b268ff8613a71fc6ce
commit 0a2486f85e0cfa6439116abb9078ab888a619746
commit 8aba4d30520ed656065eb36f0628109bdea385ee
commit d093100b425df6fe400881f2e62c3f0be7bf18cf
commit b92db7e4fe740daab858366faff1f992d53d3ff4
commit 0c05fcd3b45d6769c496fc6e2b88d18fc78ebe11
commit a6aa679a70e9d8fa4ad3f519c060db9bb186e21c
commit 6de745238aa30529778a26622a430dfcb171b089
commit d395fb1999abb7eaa3fb5fd2107cae0f1e41e6d0
commit 20529e260ff2fb4a00b54a1e625ebebe5d1a6210
commit 347987a2cf0d146484d1c586951ef10028bb1674
commit 63af82cf5e36b6ba3f3ebcdd1edd9f91934bfa59
commit 64e257f187a5c76ec5766f50204462c0c483e418
commit 4d8f68548e982e2c9b9ca3b47aea49c47da93a3d
commit ba8f16cd081902350e2d2a00afcc6b77b1815d50
commit 9f0527d22a52ff3470d8bf0dc79cf42c0677c23c
commit 93de485cd822d429e91f197a820f02ee57d38fd5
commit 0421bb0baa84fc93bbb659fe682e19266730f9f1
commit 913b1e7ca77e0d04b74921e7328e3446f3a481be
commit 848b3c0be2b944f633fe9beb28ad28f15c39f7a1
commit 9eb11f52a6285c0516046e11d45fa4be8714a1f7
commit 932da861956ac425ba4e65f7696458f96d833883
commit fc8d29e298cf47e07c2764ec1c340c1df8e50431
commit 75f664903d8672897333b86bb450335ec6486ad5
commit 81cb44274c654e49f55e6690079540b0bd177db0
commit 4de395f2c632c31c575f72d49d4f4389c99dab68
commit 668a8f17b5290d04ef7343636a5588a0692731a1
commit 917dd05418148f05d8860b8106da8dcd1d258aaf
commit f134c9cd9ce829cc66d4d32c57b76de1aab54fe9
commit d71d8a4b8d10e4e2002d21940a768b389d594637
commit 00ec947c144b374ceb3fe1b4bd2e9ea7454dd630
commit d87fbea50b819b76f180bc8420c5f9efa0670deb
commit b11af8a25b576cad006411fd904f88199ff9b5ff
commit a961b197d72601b0363fd7614f9b98d5721f9c6c
commit 35a3b82f1bdd60e454de34f984a3f09b38f64b61
commit abea75e9207e7744f524a5373e9c149226e17a5d
commit ae9f1f2ca093906f06311ade42772eeb021af39f
commit 55b3d6a63fb58e154f0a1ab3930cdd003a39ba9b
commit 59dad4a0d1862dcd15405f3217a59b1fac01daf0
commit 1dab4561a341afdbaafe0ce6091106d0c63c79e0
commit bd8408e69a47f8e9f5d95c5d919413fafecc1e73
commit 53618649ca6ded3222b24e8d25a09be30a197577
commit 6fc20a8592f569395aadc9fd97336facdee84f0d
commit fbc1fdaa8338ec4ebd862d918a0ce3e12033e8a3
commit 899e90cf20a9d0eaec8cbc8e1ca1d05278afb6d7
commit 86088f88a25c76baac304b6f887e5da2c30c4e07
commit 1a217205bd2643272e32ec38926250aa6c29a854
commit c19491894d4baf2155387e48aa326e1b52d7b986
commit ad444123a4a1d2944bd72fc877af9aabef01b889
commit 031a2fea0482965175ad20adea44bdfe6ed817aa
commit 2b066860a4f855babd2a22f98364ff6546d85f88
commit 0b8613a21d9c52ccde18264b69de9f46faa362df
commit 71eed8a9ba8609e9c97171525c28846b9bde9a4f
commit 3475b50873e4a68302822d91ab5cb031c1a92d50
commit 9899834ae5f26649da09e0cae72d8d9eb8a07aab
commit 6f481afe220d36ad7790526a2164d7fd3d5b0487
commit a6c225be3da7edec46f96781ae07a873b2fbaa17
commit 7fa8e07128ed660c97c4a8fe615967e654b84f32
commit 779c84fea3dbd658d3c4b72937732193cb01bf15
commit 1ba85119afb5e45c699bf074dcdc894bfbf1c614
commit 82f9cee25598a1cb06529df8e7e1f86f61e786e9
commit de2b4917843cd433d0f1c279123f75801dcd0c1e
commit 83b7a8e7e88e7a201facc9c33833330485f5ec12
commit 42542c7904cf2e6fb795dc7ffd1903ab7d6e53fb
commit 5dca122f8388695b1048a48a69d3cf9210036d9a
commit fdff0a852ec8b8ddba6fc193f187d5d85717ab2e
commit 64b88afbd92fbf434759d1896a7cf705e1c00e79
commit e473216b42aa1fd9fc6b94b608b42c210c655908
commit fdf0ff4d12cbcd76b53f27c96ce51ddca400884a
commit 4656b3a26a9e9fe5f04bfd2ab55b066266ba7f4d
commit e7fef092330321ff311e8c06338ce1b4b608ba05
commit b5c9ed70d1a94c59dad7b1ecfc928863c0fe6ac0
commit a9d2e8b5f1e5caa3cb038d7bb7bab530bcce5af1
commit 4c703f5d6f776eaa6a98611c9b5dfe800fbeb0c8
commit 7847628862a808ff3802df96f54e5eab3ff448b6
commit 90caf42527a40d09e0eed9fcbca08d757f4fd493
commit 8f48dbd6deaf5a14c924c1de08bf7e36526bf3e7
commit 1d43a5120ab49f22ba6c5901ad3994e254510303
commit 14e7157afb055248ed34901fcd6fbf54201cfea1
commit 4d9db10576ff51afa8cf7727fbad55ada299359b
commit fa2a87e4c5cea2beba9deabcbaf54d1979fff419
commit 6d602e031103fb78dbe50dbf57a5f29737494c6f
commit 2dbeef82d14fda3b15d40c94522bdf83f9c33ae8
commit 6e2dc7ac71411eaf6363d63c333519e1d353d6b0
commit 774ce1510e6ccb9c0752d4aa7a9ff3624b3db3f3
commit f6ff4570e567b687b851a2cf52c7e300c399d925
commit b68735e8ef58be6df7a6f511c60186e6051d9fb6
commit a4a4307003307220321f946892829a5364433809
commit 2be1959ecefd9f655e6262144a1b970bc2f34054
commit b25c377a5b26f107ea831af05919fc3782aabebc
commit ac991b874b098ecde2c5eb81da48d52b6b22851b
commit 2b8428a10fd3763819eabf1acef6b5b2c7875520
commit fc94224c2e0ae8d83ac511a3ef4962178505469d
commit bbb6f93f51a19787f455768015e9a77a4d83c4c8
commit 97216fefed6d9782c7208cca33a5465212f533f3
commit 382fc1f681324bb38bedfe763107a60256c4ddc8
commit cce32e4e38c63f040ffe1966117d364ecf9a28b8
commit 254e5e8829a97bdbaf86b83ef704ac45a30c3867
commit 30c637151cfac8da3588f3773462e705a4ff2f59
commit 3565c7219c169ab6c6ef34ba9187c1b7bc6dbfa5
commit b320c7b7343885a346949abb56ea20528d611148
commit 57b2efce45ef5429e8d050190242849890b1fd96
commit ace98ffc8acbe7e8f886f2048436a0438663b153
commit ddcf980f4d724dbcf6a99be58bd07cd5cc68bb0e
commit a8c18bec83a82a90d5e35a080bc465581459313e
commit f5dfbfc0ae00c2c2c0518da9e1f9a8cca50ae544
commit 353819d85f87be46aeb9c1dd929d445a006fc6ec
commit c4cf059d9c2c4849c65b481c6853bb93c8b33f3b
commit 4bedceaed1ae1172cfe72d3ff752b3a1d32fe4d9
commit 4d87d36247e7fb9419b25331051c0746d09e57bb
commit dfc83de118ff7930acc9a4c8dfdba7c153aa44d6
commit be0366f168033374a93e4c43fdaa1a90ab905184
commit 5d36acb7198b0e5eb88e6b701f9ad7b9448f8df9
commit d1051db85f6496ed9c825802bef3709f2e7d816f
commit fa6a4cdeafa0ab674d0f72067304c5408c89964f
commit f31bccd3989d504a0c90b4562908ea18162d7662
commit 2ddd1e6ccb139b9e7f1fed2883e34add832cbd77
commit c4f306e31632e997c01f3e5ff3298ffc3a127999
commit a49afeb4165361819b92b7991b97457bac4c674c
commit 3a6acb7dd69f9d8960009ed1ceb77dc5e532391a
commit 1765378dfb10d4feedfc71cd721c4140d927c488
commit 1d4f70a65fafb484064b9c7caa7318e9fd2ab737
commit bf8afc2090795b8640bf1842529627e69f673df4
commit 18c8485236a5e3f491b670c018ae391c9cb84dfa
commit 696560d43b4b07b58cf8604a9b186b32159164d9
commit 4d09017aec4f2aa5f6109b32f9a037f35c17a9e0
commit 5d2f2e8b3a36328a3981996bb20c32d8a0e53b46
commit 22645976ae4c0e7eebc8cee7942692280457551e
commit 2ac6cdd581f48c8f68747156fde5868486a44985
commit cf1e6a90315a3f5b8ecbb3cf6a4badf8978e9075
commit 44373151ab429cca53fae53d9eed374aef64afad
commit 1ee181fe958a11d023fd992b8eabe6d4287661ee
commit 9382ec27acb2f5a43dc3c3b77036f898a498ba60
commit 2d70b9a1482e09f8465452c4655ffe20c605d526
commit ed2ef21f1089ef9b3b943b4e365600e615ce827d
commit 4f4dc37e374c957b2bbcd3b1f3dad73afeb647a5
commit 1baf9127c482a3a58aef81d92ae751798e2db202
commit 5cd062e31d352e33284d08a52ddb2b9ed1a5caa8
commit f639f74a789570fff9fb093a603bda550b53f3d9
commit 8aeeb3144fe27b2b8aa30db262de2f654f2edb9a
commit 877507bb954e7d0a4f2d3ba9957127a83c03e447
commit bc8350409ca5147d432f869209ee13fa079625df
commit 828369f2829e5415e61a2c25b2cfb0bad48d72b4
commit d4a3e50ffd9084e3eafb318e95ca91b5895a6e62
commit 9fb3473732908ff0f8d8f8763318c407489ae955
commit 15c5401dee76e03a1b4e30b7ba8fcec972e5bebd
commit 69142c0a5f9a0afa6ec31d5f9a4ebf293d3b5029
commit a96d8f052205d92c2fa934f72dd39229c8b75d79
commit 52d4cfdc2460cb7f0528e27cdc9fb808f299d325
commit dd9d3cbe9efcdb2a0d88c80d0e492ccae54a5b63
commit 9cf26c8968b358bb14cc078f8153300a493613d4
commit 6c82c75230b87d986283189a58e8cb18ea0c519c
commit 2775e2016179331f1b8dcc24bb63e898d64d49e3
commit 8eb403671e3886adcd939223442d49ff3ba52846
commit ae5a3d2c75a82c65564d32c42152ef7623ccf673
commit 7dd5c56531eb03696acdb17774721de5ef481c0b
commit 5e8bf00ea915a0f290bf5ee544b91aad5eaab4bc
commit 6bcfe8eaeef01fb389e951e7c648b934dfd62f15
commit 4a83c26a1d8702c516db77fc4423ae896ee904f1
commit 8c30eecc6769bee1e3acb485ad5f086a4d8a04b6
commit 37c7c23a6420f56a66d70e30ed54ae8f77349f90
commit fc30eea1542dd787c6aa46e970014e97e390c5b2
commit ffb6260be81f5f4c97b34430072bf50380b42478
commit 05436815fdb47539269387c10285c088a8ba33e7
commit 7fbee3eb9ab82c4b8c240617a1b3878c6981dd73
commit 01224faa36e86a2b9d423fe851c05feb288ae83d
commit f9929f69de94212f98b3ad72a3e81c3bd3d333e0
commit 03d38605cee7762d020dc14cfdefa6cef77b5811
commit c25b69604fc4455228329c6c522a87974246e40f
commit 802fd5750faca181cade177642e0e5233ff25f85
commit fd9e3169e42b7b9e3a5c58ca2bc95a15f9de1d6c
commit de40c281fe0b6babf3d1a25e034525a23e125d0c
commit ef8886f321c5dab8124b9153d25afa2a71d05323
commit 730c2bf4ad395acf0aa0820535fdb8ea6abe5df1
commit 3d037d99e61a1e7a3ae3d214146d88db349dd19f
commit dba4d442be8c4d41d3e1ee4f72a2cd8fa524b8cb
commit 8676145eb2f53a9940ff70910caf0125bd8a4bc2
commit 71bf55872cbe035820a87b2aa5fc1dc60678abfa
commit edbe262acf92c986ad9a1f594ae3b4f3d3373133
commit ce582859ca7b33e5c0d9432da9f7b54ced802100
commit e13140a06283141318319aaae7dfa348b06bdd6c
commit ab298c29d414a5a94ed3039b0e97bc325bf45272
commit c4863ce0f4aa17d88f4bf5fbd92ae9400f6e6d28
commit cb7fffbd26dd6eadfe6591c0e14fb43e1ba2f70e
commit cfe637c4d6fcaffa655405e682f99a3d88e5fad0
commit ce73f456744ca763ab6a9753104caf843d30fd8b
commit 7bef64490f9bb04731d3cf46bc8f7f46e55b2e0e
commit b3aca563d69bcbb49343196b4265a8cb7db91bfa
commit f241b064426943a1591c9e9121a175d5ed1edb42
commit 504a51d70f86e3b989ca8834691bbac4033b6f48
commit 9e6a82b9fcecb11b84d010108874f923c1e648f1
commit 1ed88a816d0037ea6fec1be18dfa9db8ee7196a7
commit acd45c56790a3b558b0b0081678a20b0a0d89b0f
commit 0f7dc324b2e9e55db9323302f944fd952dbed967
commit e25d5954264d1871ab2792c7ca2298b811462500
commit 7350b2a3fbc6956b2b2234f6d27d030c70b451bb
commit 6bba2b30d29cbba78ba0f935210108e74dbe7ab3
commit 1bba7323c79b169d855ecb4a1eba410f18a38674
commit bcfa6be2ee21b8ff85fa8f51493c8e585e3ab265
commit 5fa9e16191204b6ead0c31e8f3b6ef92ddd8183e
commit ea6490b02240bd7939a3a13bc8d3f25046c01585
commit 8759464d7b6309e23df95f12064a120422d6f780
commit 82068edeb5090b6f999457483623b39b6546ef74
commit a61bb3422e8d6ec002dbe288356470540eb5662c
commit 3bd86801c84f66b4abedde4078e5237937b7576b
commit 36e599e179db51d61d2b30ea63bead7abfae8506
commit e99ba96247764e2963bcabf2fe2d91b4455c6bc7
commit a9b4c16d886cf6911d69fe3c68f5c7b2112f0141
commit eb09882d64807c24228ed1d005dbbae70860ca3f
commit ed5c2f5fd10dda07263f79f338a512c0f49f76f5
commit 8ba9249396bef37cb68be9e8dee7847f1737db9d
commit 672c0218e3e22ccaeb2911da8d3b784d3b6cc1d8
commit dac6b80818ac2353631c5a33d140d8d5508e2957
commit 5bd8d53f6fa53eab5433698d1362dae2aa53c1cc
commit bfaced6ee77484d8b9c6baf86a8e9406f80108c5
commit 72fadb13674f807f10a168fb7d020dde58ce6b0b
commit 194eb174cbe4fe2b3376ac30acca2dc8c8beca00
commit 60c9353139a0770e6057b3ed2e115deb95964e49
commit fdf17f1084c1d3fa0a2fb38fa0625b13b7bb0fff
commit c620e79bb695b866b2cefa0135f7eddd0d5bc9d7
commit ea76895ffab1a610fa162ca56f99048cc161c293
commit bf0dec4604979e09be60b7dc41066e3d07d29bf9
commit db910f10d5f4b7e6c9997e370f586eca54c22430
commit cdeec9a11c3c95f33a3e2be36ef3fabd60b8ebf2
commit 78e16ac1e764def96f4c89b433d379acd68881c7
commit 43d61f6d8f4d2da7df116eac4f83106ab1a29090
commit 34f667634a0dcee26d9873ab1c819bdd6cdf485a
commit 8350bb59e63d0909b0d65af2d9710026e0f902ce
commit a4d3230353e493d98263c5d7f03ee6403ed82d71
commit 0a8c91d7b694d122afe513e95908e8497cddc195
commit 1d32af4facd075542b26550e679ab53b5b8b5c5f
commit 01b537eeb049b98d7efc8f9c93c2608ef26ec338
commit 52a3859fd0b85e8dce32b6aac4f8fd18a25626c5
commit b34e44bc6156717543b784b50f4d2fd23f299700
commit 6ae0632d17759852c07e2d1e0a31c728eb6ba246
commit 30f2d2e49e826c2dda35153d2e108d06f6d7d9dc
commit 0ad7347a64ac4baec1786810709eebedc5f823d5
commit 1ed5a845c7c87aa79cef2f96e4165c8fad38837f
commit a021e2aa4dc203f58f5dabf55aefe5b8891a97e6
commit 7e55536c9c488febfeedacebae0831c070e72c36
commit 6dc85721df748385cfb011326ead52c01840b461
commit 78f48aa6f50b662bd74607f7415d68171339b2eb
commit 5ce27d6210018e972197ff7e5da6309f919fd61b
commit 56c7f0e2026328e56106b54cb0e2fe3a7e70ce4f
commit 368d179adbac212a5adf5fa492397a593d52547a
commit c5de70f6e14ce02c3e604972f8fd46ffcdc184d9
commit 5ece208ab05e4042c80ed1e6fe6d7ce236eee89b
commit 8ad0152afb1bb3878bba282308f037d73a87ace5
commit b092e4a9d3e3335fdc5aa23a9444eeebfa81da34
commit b0f2eb942b8a449432267571d045613e35ada2de
commit f922fbb0f2ad1fd3e3186f39c46673419e6d9281
commit 47091e4ed9af648d6cfa3a5f0809ece371294ecb
commit f4a6c7a454a6e71c5ccf25af82694213a9784013
commit ab55165d73a444606af1530cd0d6448b04370f68
commit 75217c2fcc88e77bea40ef1153d84ff31fa99112
commit 61faec5fa66cbd1afcd5074f168f09529f8119bf
commit 6a079903847cce1dd06345127d2a32f26d2cd9c6
commit f386832509b85e567acc849cdef22843ed33a525
commit 4cf05a4d7125854800a0e88eb3e1dbd74368e9af
commit 8869fa666a9e6782c3c896c1fa57d65adca23249
commit 0f60d28828dd94779c6527440289e1c36a05115a
commit 54c204c522fd2a887b52c7672b9238903ba59a8b
commit 4234ea30051200fc6016de10e4d58369e60b38f1
commit 20052deeb558e34e04655076a3b3403c3d289912
commit 48bc9d5245a43486559935da5439700ce4fe4a3e
commit 544432703b2fe73a07f387c0b883da03ffa5671e
commit 75ba3121acd58b71ee1d2f6e30ab44748d4397de
commit ded910f368a52b64a3c0eb12da085058b55f61a1
commit 92b2b55e68c8cb88588073434ff3e3240e98504c
commit 73b984d8722e3ee077a8591b27d8c4d1a2d72020
commit 6d3c900c12d72667341bcff338c252e22728b942
commit ee50b00244086453dfb7076e4b80214948cd0507
commit 95a72fb73c5900f1b8f00b2559179760ddb729ac
commit d8adafc7feb86b61fc483bb58b30028e6fb919d7
commit 9dfa4860efb8cf20c12b9b65ec66cafa6e93f3a6
commit 4bb5fed16991e6c1be6b8b4c1305dcf08ac58ecd
commit 947f63f17e1d91cee19f1bc071e825b28ce4da98
commit a0f7e7f759cf299ee6f6d8723c596af9a1a86b10
commit ddeaf487464af315ef7af02b37830a14fb5452e5
commit 441b12bcae736c20a6b8bf6978f90426ab1719a1
commit f9bc6142cd8deb953f0d9fa6bc6e1833402739e4
commit d6c770d2050b26fc90c80c13df1d6ae4682b2e3f
commit 9407feacd2e19b66bed0762c454b1654807a626c
commit 7ac32451193d20fbcddfb5b2623838ae98cb3c17
commit c10c55cf49fe9060720d67575c301dd452e0fab3
commit 008973fcbce429a2b0929108b6f9495d885bb1a3
commit 361c6e35d3831750af3c308e5ac056ab2971f199
commit 869e3bb7acb59d88c1226892136661810e8223a4
commit 83ebec7e0b4c2847d9cff2bcf1324cfc5287dfcb
commit 0f9fa5f58c78426a93983a2cc0127fd98b020403
commit 8c5e9bbb3662b09fb9b5353dc48d2f871f13127f
commit dbaadb3cebaad49c37e3fec937e73e6e41054404
commit 48b6b3726fb7c189410959d2b8915c209fbf9e7c
commit df78f7f660cdd5974b68649a95dbb34da4d4dfa7
commit 946c701407c33867573767db7a23e2b6696b5d9b
commit 0bee2ae29eb4bdeaf5fb80b4ef48877bc448485a
commit 0b4e477e08a14ef852d5a633cee10e4187730005
commit a5c2c0d164e96d24f73faffcd3b7bbb607e701a9
commit ffac9721939dca3f0ac7bfa90f3dc484b19c2706
commit 083351e963865a7eab55158042b81b8f8c0316b6
commit 11d2738940ebeb3fd3abc78d44684d5edb400a6e
commit 21167510605470d53c94e7162ae886c8fb67d93d
commit a76eb4297f90301fa9e4c888fb06749ef1be1c86
commit 2482fceed27b6951287e92e9f733533a657c2923
commit 6366fc70deb9aaf1db4a46916af14fa3c5a115ab
commit 01ad1d9c2888d51f2fb5b5ac88af8bd47d76937e
commit 4d07b0bc403403438d9cf88450506240c5faf92f
commit f0c70d41e4e8341651db7b75374bbff0b14dd310
commit c7d3c8447b262d177e0e83154841d64cde521e70
commit 2c93e7b7f545d2cca0e9e220ad7e6e1ac793ed39
commit 43ba44a176a420137d5acd93a61fbeec4ce70191
commit e6f1964818cdf5ce64a05898e53b2d081c682819
commit 9d0bad177af9fd31ea14e580a34e34d02edd26a0
commit 268c67e5bd8611f0835839957e77f92bc589b7d0
commit 39a445bb2787aac5ed929587a2e13ea5dc4ed0a6
commit f81f30b305d2c73c23d60b12b104d3f191c5687d
commit 488e29fedc1f2b771b37896da853bc4b493e4b3a
commit 00c6cbfd4e8a3279876babbac2f4a3f811d93b1f
commit 7578fc4d59e2e9ac5dd762019db77481511ec436
commit e26700fcf961c99dd5d0a416c4814cdd69e6695d
commit 3a9313d80e276cef87355305720a5e37e7ad4b46
commit 95ccf312a1e4f5a1150dd1a0a2d81c1043e33fb6
commit 11c7faa61d136cef92506e4e77d0e6c6e01428bc
commit c247cd03898c4c43c3bce6d4014730403bc13032
commit b1d36e73cc1c68d28f63cbd14767d0d0861147e0
commit da11ef832972e311475fcba802398e720ed36c54
commit 1eb67781117ca2095f0dbede79f22f6b2ffa3189
commit d9c04a1b7a15b5e74b2977461d9511e497f05d8f
commit 08e9505fa8f9aa00072a47b6f234d89b6b27a89c
commit 345c0bc0a3cdd3273de5338b7313afe733692296
commit 7c55b598b32936e506a699698fbe37c891ad1873
commit 0acc5b06b5b450b351aa006c70264baf3062e988
commit 7930f58a7e62e52e96636dafc2c4beb3b76b321e
commit d61e4ba33e254ef8df33c355ba1b2865e3885693
commit f577c7c76bf9f0e0a6dd3daf5b9a3d3f2b3880cc
commit 9f92c20279ee0f5256499d9fe55b6d6c4c414276
commit 95bbbb88ed49f6d4f46c9a23be0ba94db2fa65e9
commit f7fbcf4637fe8f54acb18d88488ae901b3d7a4dc
commit 99c957fedfc6678ded0b53afdcb832cd8446cec8
commit 28c042707bf23436d4fa3ecc1eab1a62dd1f6d7d
commit e6cf22ef5fae493a99e162c3f2e7233448d2b970
commit b68ea8af4ae005df5ca4f547f22b3824d0fcb3a4
commit 594b237b9a07e28d524b35a59dbff5bdc8de6b78
commit 74f4e84dc42bc80478ed15c221280e45e4fdfc5f
commit c8b1d0fef1b652c65dc09a0fae6ef0504bb2f349
commit 42900348bfb41cbfced62060c9cf4b735119394c
commit 8243df477845cdcf558226bbd24321ee85f82c73
commit 16f0013157bf8c95d10b9360491e3c920f85641e
commit 2724efa389c0dc4d686935b980832cbb87956968
commit d3ef9d57f24eba16cbce8f304c9190528e842227
commit 720102391060792bcb5697af640f3a4f09acf360
commit a79f56d191c4f621eee85979d6e77435fb8383b5
commit 638bc30f8579bf4e0fda42a0c271149c6ab9c893
commit 2387e21243ba8a2734322610daaf1eeaf1a146b4
commit 61ebd2fe6f793306ab6c05db8872931026dc1b8d
commit 6160216fd2c97107e8a9ab39863b056d677fcd85
commit d200a64305f7072db918e68b8caef0b33e55ef05
commit b2243cef56befeaa45a30e783265caf0c8e01ba1
commit a9c5e9c82039cf9f12bcb427160a2163df299b1f
commit 6509dd1111928a351204af1fc8e6aa61e0c59002
commit da30390b93c377545fdf5ecec34aee018f90485b
commit 068a0f5c8260dcc4ccbaefd2dbf21ea84162ac17
commit b078c16bde6d7eac1eac4be0dff07e3b77fe4cdf
commit 612dc414458ff439d90a6c491fa5d064a6412713
commit 61c86578229d2f0a71296663027bd774002f1506
commit dc35583ba9eccf2052c1eb26a0893399a79a5916
commit a2b4cefafa26e6e4dc550366b2caa87a916c179a
commit c41aa0204d1c05edadc42e50fdba62784f5841bd
commit 3eb4ad9325f1f959dbdf443176818ae3aa934aac
commit 3d46edeec211bcaf006bdd40aa73d2c4d3a4753d
commit f02c7d5a8fa3ecf7a20f25815bb30a967fa18885
commit 6127b3bcd33299cdebb79ffcc9c9ca135eaf763e
commit 2c2d7a67defa198a8b8148dbaddc9e5554efebc8
commit b183db8f4783ca2efc9b47734f15aad9477a108a
commit eb7de496451bd969e203f02f66585131228ba4ae
commit 4d054ca9ad01004901f3ba988d77f7d298819c12
commit 378e0f9f0b3e03a84db5ed5d3da3850871e9209e
commit 6215a7c8f55243779a44bc257af0e1b1bb928e76
commit 25bcc828d237cda65d34c736d70e4467fffb80b9
commit e7c2af13f811d0c23340154b7b2795876c71e4be
commit a7c7d23649f1fc3a73507d2aab3a5010a7b6745d
commit 291f269a49916a8494526edca92afed69270241f
commit 3b10f8517648d6bbfbe4c3019aa2759c463e546a
commit 986531bd0e72e74190c217523ff212c9bafa409b
commit ae611d171ec02f067b36a1658f29a2f3a9eb2a91
commit 5a04eb5be8e4da3b3574fbd56b6c43fa1f749cdf
commit 103472c13f0afedab818a2c6469d78c2fb29ad8c
commit 06a50913d96ed0f2e9ecd1ee3f224af72b03af6b
commit 34dc3cc5017f08df21a8afc9ddec2f622a5f04ed
commit 203eb5a98edbe40e64fbc794011ff7261eb55d8b
commit 12dc50823845e3a90d137ee09598e1984c6ec3b2
commit 6c77055aa674b6726f8ee57d1c20e950323dbadc
commit 4be1c12c880e03e6d174e7e7f9e0dc36bdaf9597
commit 36d225f365e737019a5c774682fba99ba7ae851a
commit b3d81dafdc48405ed061f3ad0bb75d7ef7d09936
commit a30a6fe9e56c401307d534b2c224002f9b2d33ff
commit 5a4dd6f0e846541e57a58f97fce86da1f3ab3a88
commit 304ebaeb3fed122e99d21653eb8ee679872b3031
commit c3704f1938e76654ebf5c9de220d08cab5d437de
commit 44eba1b85119a8f2d44a47bb3e8c5c608a05eba4
commit df22d67e5f3d91ce6f0b0f64ccc14d016c89d956
commit 95086cb969b2cb8abe4984457f219ec70d24052e
commit f54e515c91806288126f64b37da0c78baa2d8c1f
commit 917bda9ab155032a02be1a57ebd4d949ae9e1528
commit f8e1fa0fc8bd13122324da7d1e80d66641220680
commit d688f6b5525d5bc1b88c198959274d53a1a24204
commit da09daf881082266e4075657fac53c7966de8e4d
commit 2aefa9a38f236481f41b117e21ffdf38f40830f6
commit 1d5d1947778cbbc9b469e57b9e1a56871250afa9
commit 45a92f45f4578ff89da7dc5ef50bab4ef870f3b7
commit 6b11af6d1c8f5d4135332bb932baaa06e511173d
commit 62f6b0dcdf42ecbdf25205c77c9297d3977ed690
commit 572200db77ecbd3a178c68d469790a11cf07a20e
commit a3c9b4c7a75a66b65b62900e2e9d140e0470cd85
commit 9af611f29034dd6c9329de06dc98232a5b89b939
commit 6ebdaf20fc4dd98e7573dc2a926c81afc8ac7870
commit cfa1e7f8a75927e55cce1300c8fbda2e1d1e0abe
commit 2581c5d85e31c96dee352a751dbce17c1b71b417
commit 29bec1c43d7de6af60a34e08205db3b7c6048cef
commit d84f5d6562b2f068ec7011f50e702e8a60ec7932
commit 55453c0914d9b81e75c5c83adb2dd9382da2c79d
commit e990bd60716d64d18e8c5785865e15783a90cee8
commit 36ad2ec9802f9613f5d2a4fce10c9452f0a28492
commit 280f1884892f3825d2060df43dd1d452c585cd0e
commit 4e65878de0db0a2f6778b78e10fd3b71eda4e4a5
commit 6ccdf067206ee82a596fb89a28ace18b4e8b239d
commit 36527db318080d36138c802ca9e03a09e5a5fef2
commit b09c1fff5a9350a65b16af44e74c9f9335d9ef09
commit 7857825ba4671d053eb3724c7098bc759bf01a75
commit c17a34e0526fafc0e1e7f707c634d7e49dd08197
commit 8606cb1e68d17e24de660110d7042eb82df7a70d
commit 847939e3eda39f98de6ae95a5c5e0e1f437a274c
commit f6f76233bf506d03f3567fa229c7ad2ce6a768d6
commit a3cdb5d2c89c8005f50cd4c80c1dc75690e5fc96
commit b1bdb5ebb06ead49456ae9f23a12c7028076f9cb
commit 4b91ac9e389d177e8f1af5d4499c6025e866c850
commit 4bfd688e6508ac6f1cdf81c1ea91e3091fa93853
commit 9f6f6be163dfc4b912ff1b20be1841cce306b621
commit 0991f44c90f64c4e4d97982d5702ab18449c99d4
commit 94adb9933609bb3846261a688b28c2ba428f8805
commit 64e32c91fbb88a2f3f4ab697f538fd8f3f62d99d
commit f9a48ed7067734624c13077f5de16365d7bddac2
commit 606db591bf32a46a7dc3d107e13ba7ed2cf9079c
commit 093fc6110c7240def7717aa466192c2227d84649
commit ab23c5b9c74d682d81b0903247817b2bb20528bb
commit 6420f4ca68fb9dc3f7f5c1c27eb9a60f4b751bf8
commit e0b859cf7c099dbb6bd4b769268baf5b0a51dcfa
commit 93844fe7651c1f12206ac8ed8dc7d2eca72d90b9
commit 67ec7195747888e2ef307010541fd07304d57ed6
commit 9d84c7ef8a872253a9e8a9865ad5efaa0f8c05d5
commit 74d834044e2849aea1a75c4b3cdaf38917ed3c5e
commit f4f5e50761fd7a8b8ad8a4d6f2ac0ffe76ccd396
commit 6ec128c3fffcac8b05ed187e11386afdff4bacdb
commit 6b46251c5067990651bdbfc3edf07c2e16850a0c
commit 0f05a2e52862107aff6f4ffe8e8926ada4432c9f
commit fc968efdf0fc71bbd0e031b9ec071062fe469e7b
commit 7ab47ba22ed35e030cf67ac8756767228c591d17
commit 10f8927d74473a56862edd94390cbe534cb539b9
commit a60d2191371b4157c56eb502bd3f8d1038a5e35c
commit 92f050436637099db7cfa6e9fe28018d17d9ade6
commit 8e039cd176c61a9770e1956038c93738efc800f7
commit d9ec10c30e65df832180159217939918383e6b5f
commit 773562364ad9184a31e3192b268395560dbf2dca
commit f66f48471ba2f721695694c400cfcda3136ee736
commit 5bb71735668263403d560b48e8fd1dc1215bdeb6
commit de2b2ae34ddb5cd4a9c840f557b175b4c3c64f65
commit bbc9f072117efd5a81d81ca787855da63e7e7252
commit 6234bf13913fb7f62bb4ce2ced42fb81c524e851
commit 33100f10e2fb847954e80e356df3ef9e5941819f
commit b3235e8635e1dd7ac1a27a73330e9880dfe05154
commit 5b04aab6d49578eacd6d341e281c70a769f96126
commit 1ff673333d46d2c1b053ebd0c1c7c7c79e36943e
commit 7c1dceaffd99247bf443606730515b54d6285969
commit 13cc5123e9530c5895799b4185fb7a1a2e1b7f88
commit d9927abb4594ba940b3ed1dd86fa0447faf13a7b
commit 73c7a8a871dc9aa6b7876c1a30bdbe0f899eb4f6
commit d5f476edc5b58916d05a7a5b87fa8ecc9d847f71
commit a40a92af46113e200b9110c4040a465771d28b35
commit 9436ac31c73526b1e070c050ee83c3870125bf82
commit fe09f343d58333f5e761bbdf4871092c6c867ffa
commit 94ac32338e4f5372ff0bf956f069581096717885
commit c6329e255d06fa908321ddd5077b804b9b3275fd
commit 701a4ad97db690395237218f30875436f2a4b461
commit a3813175c4b50a0cdf3e72fba3d560f43b4c9ecc
commit 5ddb5fe9e5a5c7f518a29df22c2f5af62cc74826
commit f926464e59b7029b02d731a9f8a31419ff973ed3
commit 2b5692345fc18b959ac7bc11550eee3a6fed04f1
commit a4d002d7d0747b76c5cb8934c25aa745d91926c2
commit e7c69a27cb94a86c3ab467fd297918494605859e
commit 91a95887891f1ab791171f32de99e9d9ed34c888
commit eb11eabc5f26f876c514bb294dfdb0484bad28a6
commit f0acaf9d6912240cf1a27f0f75d04cf149086da9
commit 7249dfcb6fc0950eb1d7e0bfb8b642cf40f089e7
commit d51309b4e9aa79653b8343101def9ba99ba2cb57
commit 2fee35fc07462b900dc7730a92857d1f1350c621
commit 90b87cf2430490d9aa0ba0c2a14b4db8da0c4942
commit a434689c0adbf8986024e82767fd26b0e142dba6
commit 80b3842f21f8af1bac5750105f557b29af854291
commit e3e8148f43fb6d4347211ea2160e7de9b8ddde81
commit 20478b88071349ad3d7340dd1e3e714fb1e9b98a
commit 5da6d6c79297832277b34b38628991cec07bc664
commit b7d1559038b6c949b5a4eec77db77f3a78edddc9
commit b202ab6173af66a78c95a6acaca26f74d0c8a464
commit 0c82118b0aaa5113e39d875c296a416fa8ac6fc1
commit deb141510f6e55c6d5fe3b5b77fe3df8e57dce61
commit 6493d4a96fc3d16ae946c886f51b74ddfc58f204
commit a71e7d77fb03f61211d035afaf033a01dc443195
commit fe28c7c120d6c620283eeb6537c38b9902f850d5
commit 51b072de8e0f2d5bb562474efd81f1cef77e496e
commit 3047d7060e4db3b4d8f6f915db50a089662caf65
commit 4567084c305154b5abd427f568132432c41f13ef
commit 6d737d9bff5fe98e01bedb39ab9f5be3a39b5ddf
commit 3721d4fb763ed9f580d942f95b366c252c01633c
commit 0514b50cf79b22decce0dd2cfccb5671322e9bf7
commit 99f37216b36622343b8f1eb625921a9888054a9b
commit b801a98f81bf72884de2e6c8409fd3fea5cc3f67
commit 8482af4bd28b74853bfbba9feab1a28ce868c747
commit 6f10c4d62377c8a0b013ba98230abdae71cd7723
commit 03e067bc731c7cf8fba403ecfe4e2a85b49a11c0
commit 06bfa86eee805e49875a64a23f083aeeb5e39daa
commit a06289f3f72431f3777af95ea1226b5b0abdc426
commit a5810f551d0a8c83b4817b53a446bd115e7182ce
commit ff4e0cafe845110c9b7fe26eb8a6b49d60a1288c
commit 9aa320341e9a86c684ccf8c2e75ff07486d9bf46
commit 0538fa09bb1073b19b197509c51c55496091d125
commit 0af02a0e52030ca0b5acc4da6d3ee3303077277c
commit 169a32b76842c10fbe532cde6cc25e89bbf54341
commit 018a7bdbb090b9155a6509a0d1a684db4afaa5b1
commit 68fb37bc2c8ad05be55c1aedccd6cf0778b1442c
commit 41ee1f18ef52390518ed14b8be98640955d8f767
commit 09872b1c24220985c17e2d46737e1bb300f49ba0
commit 119dc6c50eb9974e9dc0e6a17d8207592309c940
commit ca4ba3394e2aebcee123055a1275980940f21598
commit afb50906cf029a40b713c60d8800d3ee25ebe03d
commit d9d86d085fbc104ea73a7f6da0b1a6c4086b709a
commit dc5f3829a752bb579f709c604fa2f362959ca2b4
commit f8bd73213a13b695594fac76cae67105bcfc7706
commit 425fede6e849df5676a41a520e0064fadc98a6b9
commit 5818eae501c57e003de9e4f52a6001827e123a88
commit 40ad3e545b3da75f107450d32bcad8346fce5dcc
commit 08c8442c4a032194d6956a266810bf109cdfc138
commit bbb860d46fcbde5881c93ed549445a85f2434a64
commit 828418259254863e0af5805bd712284e2bd88e3b
commit 72be7316587835e0c76dad472569453e902b562e
commit c322b422ab0f7b3b15c0cdd3f2c534094eaefcef
commit 60e9c7ee3fec7e4f40b1bb8e4e58be03a12c9eb1
commit aa44beb5f0155d13a24edc0ae94fc8ad1196132b
commit 63127922e15565861a0868561c1479c2e490b8e2
commit 922710a82d267b785fbc892081c01e68148afe3b
commit 32d1ffcd3979b75b6d7271a3028f4df2ef181a88
commit ff58105a47ede2e9f3fe6f45e9b1185dcfde7762
commit 7f908d332dc48a12436725ae326d6143a1a02c1c
commit e06a46087d8bbde7ca31361789edfe026b08fdce
commit 4e78d6023c15c6acce8fbe42e13027c460395522
commit d3a7051841f0a4bcb1ee26a1b721c6150cc4c2b1
commit 3fc307dcec8b9aeecae8c1bf2c97f770805daf4e
commit e43d5864f36ab32f831b1af7bc2171031e58e2ac
commit c312b0df3b13e4c533743bb2c37fd1bc237368e5
commit ce9564cfc9aea65e68eb343c599317633bc2321a
commit 25899c590cb5ba9b9f284c6ca8e7e9086793d641
commit 3c8b6a399e0eaa6ab839bba2ce9a2bc57e6708d6
commit c053383813fd17296db99cea78e058ed4d53019c
commit c0f50c5de93b8afb2281009a33c124e82973e457
commit 5e0e33f92ea5d891ea37fbc5119031024c154805
commit fe7aebb40d42bf8e830019d6f57c47cf7d85aa61
commit 483e3d87a37e804588ac8224aadd20a84593cafd
commit f89aa0b6db18dea3c3c8ef266cc6c9fd8dff2d72
commit f9feb882744f8dd3d7b52c3548bb6471ef3adea6
commit c2a6502f36248e9e17806d1342e4617d895960b0
commit 981f09295687f856d5345e19c7084aca481c1395
commit 0aedc880025ffed5be6736bca61ace31f591b92d
commit 8fe444eb326869823f3788a4b4da5dca03339d10
commit 5a1ae03fe5b7905b2913ada57629a2ef255629f5
commit 46d4eedab5a1fbadfd5dfc915a92cd13fb3bf325
commit f04b1d91aeec5f981b3a8f10b7321fed544d68d6
commit d48596f3ef2c0aa2ce7a106dd5ed99045d4ae377
commit ed1b4369fc550416b54de7ed78ee39ba8b64f88e
commit 5fe9eea5eda09a5b02398671def156e16162eeb4
commit 490d95c70e9d2debd2be0f7bda524c28fc009da1
commit 3064d01976cc88f9ab0625bb4f729ba5e5986584
commit 5a856cc22841d6f3202aa91fa5d4ad07e3c0a9db
commit ac7af83ae08b2789a828add74c01ed2e7b78e21f
commit 4182a311fbd83f17b276d94c44539aa97d381959
commit 22055eddd4fb33ef475f2daf700fbc7dd0f42389
commit f8cc091e05305231c8f747ca253a90ff0cea60b9
commit f1ee74afc1e303e69f4485ae677686e95a8bcbe5
commit 2a37630d0ddb8a0612b700635cf4827aeafe4142
commit 1645e7b9667f14a37f9ac8c49568b8f979227d20
commit 254fe9c106ed69245fbe0beac582054c98a91482
commit 2eef1ef6e22b241f26d7bf0f1554a9863277e526
commit bbdf7b2a0b0e69e4e18b5722341dfa6266d19390
commit 8ba1648567e289c90fa4f65b4204d0f160e22ac3
commit bc0d7fdefec62e0cb83c1bcd3c7bd033f5e826e0
commit 3675d8a1726337bd1e839a185e0a7ce0bc459b6b
commit 396369d6754993e40f1c84b2e22e40e92dfa4c49
commit 797e2c3f2762c356aadcdb53dd6bb8b8d966f7b5
commit c6266862de1665b8c8006f58612db2dea66a29f6
commit 7ae5ab441402b8165de4658ba9398d8378f7dd1e
commit e1a84ba850128b3984973786829e610ae4ee0e2e
commit 873fef8833ea794526b7f4179088e565078fe0e8
commit 8284bae723f025cb6a8431566757a3854a3c53eb
commit 8e3d857c70dd317cb71301d9b49f0506ce409a1e
commit 90f9617ab86063a5d7da628137f0b19826648cfd
commit c1bdf4aabc093f7741f6fc6f1a6e942b946283b2
commit 230bb131a6143b19a78031c64fb8f3b9320dc122
commit 5aea37bf4112896437176704049db2559efcb8a9
commit 5fd5cc73e449286bc54209a4cdc7db888fb022e1
commit cc6b2ba27506781acc0890ac1ce3bb2be154a21a
commit 831a277ef0010e6599af6b300140ca61a97afff9
commit 7fe194b2d1bdb9d17eabf1c5e485518a82c7aeab
commit 78c67d5fc371c82f890f5de7a20d7451735bde41
commit f8ad757e40c9c776a13eaa56d73e8e62381517b6
commit 68eb42b3f3b30df1a335b3139b21c32187c0efaa
commit 07d50b8222d0d6fcbb281393048e36e797334ac6
commit e6643298aac0d9d77696513722c85d7808e4c84a
commit e740ceb53e4579a7a4063712cebecac3c343b189
commit 4da7aad41c8f6fcccb37e2c95a07c84835effd7d
commit 580c00e64f121ad2d99e6f43796a49ea2cb4439d
commit 665ae9c9ca79bdfc83def0981e015e181ea463b7
commit 65332a5b9fbd5c72c0db009b17ef4304d4c242dd
commit 340b515c1b172e43ea47d5f823f876307854b46a
commit c61ede87b08c56cead5814ef92f0d5eda9759f0c
commit 9988db59b1d000c6ac7e91144f550603626593a4
commit e06f1c6022673245a68b22f72ba40250aaa7255e
commit e72df53dcb01ec58e0410da353551adf94c8d0f1
commit fac53471d0ea9693d314aa2df08d62b2e7e3a0f8
commit ba6d29e885e856f2d9222861e61c370e25f0d2fe
commit 6d9b523dac1491a87bb3f15375e153de34a481d2
commit 17048d89913c1713f0549aa47d63f2a4940545e8
commit fb0a0625f8516345f888d67bcbb96ade19a8f20f
commit 096e33f8ce4f4c82035edb532e8cb0883831e14b
commit 780244a2fe8a82424c85f4cb15e45d0bbeec8f26
commit 622113b9f11fdaeff2cc17f684fb7e4968fd8a4e
commit 3bb6a44251b4d066d73faf43dc17bad05963ae16
commit 04f7eb3d4582a0a4da67c86e55fda7de2df86d91
commit b000abd3b3d2f06e9cc60c19dd4c893cb3531d76
commit e95132ef5d458b3e9d75acfbf4770e8b34de5315
commit 665a7b04092c5671f3a6c34302aa1538948b4666
commit 0ff0e219d9b8db047d3e800553f238136ed53ed7
commit 27d06077d6e064ab5c02988d14bca4748045d002
commit 5a72df3a3290137f6fdf34f23ac617ca35262c76
commit daf195faa5a13972493d3a434e4d2e86ece722a5
commit f7ba838cf75b348a3a8b0d11d347c964fdf870f3
commit 3917c9d3b2171dc838b486f7be6869525c6eee02
commit 74d6f31fa427b87616bc65987a8aff460da1e670
commit e6f29923c0489b6fec1ac000f2c045df43ec081c
commit c46af5621adc766cf1a7cac300d577a39849862f
commit f2c9df101095bfef7682caec8a5fa7d4f3b29182
commit 758d7b3483b6eae4e0d52dc18ed6b4ed8fc1330e
commit 5d832b6694e094b176627ed9918a1b21c56fb742
commit e2a5c05de6753781d69245da871f58fcae6d0bb0
commit 55544b2811a6c2cac9a823b1bfda53344322dda2
commit 42a0d256496f4526046b9779ea6e49018b58f779
commit 3fecf93c86087d1e1a9db28d3423db276639e776
commit 6da75526fc9edf940c12a785cc2fdeaf22101cad
commit 0173ce114dc4df73e0ee3e1eafea156b7b26e719
commit 6d6e732835db92e66c28dbcf258a7e3d3c71420d
commit 1ceef996c99f1e8a44df8714fcf12822353ac488
commit 0a80005d3c5fea0a21fa6553724c171495ece9b5
commit ed9605a66b62f27513aba1d95f7d470c4abda29f
commit 53593515ec1a4a5afaaa88fd4522bc4c2d7f5d9b
commit 2a07a5ddb135e4bd15bf6468b7d2daa4deeaf07d
commit aeb76f97fcf5bf6c094c62ac5cc22a1949751236
commit b13fa27a4b72caebe99bd483092479c3767453be
commit 046f4f0af7fd1fad06793d863d288c6b2cd84e99
commit c5c354a3a4728045e1342166394c615d75d45377
commit 2c2705bd09730dba6017b26897a2bcd3c5d21557
commit fa47573b04a35078953be5f81a78f22c96358817
commit aaa65520280e96dc47fa5065b74bddff30279abe
commit fb34d8a04e5876552cd0d4f9e14400ee13f116fb
commit 89b03aeaef16f8ab48c10c399f97c836bdbae838
commit d25654b3fad9906ca80912701fd4bd6e2419f54d
commit 216b9bbaeaea96b7f05c220f61855d174be972d8
commit 385d1bba890f9b94322ca7fdfa778311f1ea0813
commit 4a85b0b51e211fba03c081e1e47f8871e4b3088f
commit f2912237eb922bf2d4ebf13f3f5f1b25070f1e52
commit 6f3562b3bca078b40aa198db8fdc68439b7b0399
commit 47519d8224babc9dee489ea96dfeac726fe544cc
commit 213cb76ddc8b875e772f9f4d173feefa122716af
commit e3d8d54cd6c5b29f3437f1f00b393267b84d650e
commit 5c4d2536cfe105694b7045a8d7581631f44f391d
commit d67287769e93da7fd4b0ea1a5ef14f68c2cf527c
commit 2d427248aac4e4c8daeb1a4e021f9e22eb0c8e6f
commit b5917a109f1630379e83a37bbfa55a9198d50c66
commit 31335aa8e08be3fe10c50aecd2f11aba77544a78
commit 68d46e52092d9a94370d44cf23db58cfdcc4fbaf
commit 60017f34fc334d1bb25476b0b0996b4073e76c90
commit f16bfc1d5de082f50ecf87eaa98c357226ea06f1
commit 639e30ee3950dd77606d91719ba85df27b882f0e
commit 45474ca4814f0e8d70a390b47afd607cd682b976
commit 9ebb80e80e471fa314b9bbf0a031b3bbc7b511b8
commit 70fff19a570d4c9f73ccf0ca8c8b261b467d2491
commit 4ecd56fdad5681c7c89483c26b5130977ace9fa2
commit 6438452de4412785636e803aff58fa2e857dc6f2
commit cfb0fa4241257b73f2a074f2563af9a8704b1b08
commit 1c66a12ab431cda82a1dc53fc0bcd54370014755
commit eefac38ac4a38ad93f136126227dbcd35dd3225a
commit 29063c6a6a57b8e6ea932ad50728b382ec1ddb59
commit f0e2f00c49db0cba1feff7ce5a5f163d2152056f
commit 03d2c54d30901916addd50abb0a2cf871965b8e3
commit 51aec8bf16338e5d7f34ebc33b173b0b9ce20973
commit 8c9c40ec83445b188fb6b59e119bf5c2de81b02d
commit a791dc135325862fdf491ac088f54993710e2515
commit ff21ed39ca68257aebf42b23afcbc2db66dfecde
commit 0b3ed50eee5df65e3200c89db7f32f31c6210333
commit f9e932a83ac0bb18ff71014d912af9c8e4d8eab0
commit e5d464d02f0681c4677c0bb5f6c0a70c8be78ab6
commit 40151be79668232187b1ba7e00983be76a7f5845
commit 85d53200507916955be64b1e2cbca713b8ebe3bc
commit 825477e779121342d12e3c871a5e7487530b5a5d
commit 7573e6577f7744fa6c5f48e5f521b780c97991ef
commit ab30464cf0616d0aee00df899115e19051471281
commit 758b018aa28342b5c54646987f8f6ce675cd7bae
commit 1bba5543e4fe7f60480fee370eb260618ee98282
commit eccfba1785b52887d0aa4d2940a396afd53f0054
commit cae5cb0cabc4847781fb359d98f7e1d9c7a7909e
commit f4a2f273033e059de2266aa10b6459bd36b92223
commit 4ff0856db045e1b18074127cc7222c481a99657e
commit dd9b18e76f0434e47ee8f5243727c79a66a85243
commit b78e5d830f0db8e6d998cdc5a2b7b807cf463f99
commit 68ded02cb2c23f1aebf026196a793959bd0463dc
commit 7bb91228291aa95bfee3b9d5710887673711c74c
commit a4a3798f0077a1584491574027b0067c13396d12
commit 1ed1f6be6eb3daa8097d6419dde516c9854a8790
commit 46c676600c715f833b066581247cd5a461e03441
commit 7a3f8b7c4cdb9d678d6311ca93e6b793e8957295
commit e1f84eef313f4820cca068a238c645d0a38c6a9b
commit c969c5fd21fd700b126aa139ec57875697946474
commit 23fbdb07d6a729dd6a1df8e0cdd5772a5935c053
commit dde01ed5b07808be13d4469f90e578ff83774c25
commit 62a21a7c6a1cb7030eab8d64427d93b97cdeedec
commit 70296670f672e470a5b42f72468a9fe631264070
commit c73cdd12de96ac4ae175b5095b5bdab6af96fcf4
commit 9dea5dd0e9dc65c9f5fd9390062381b17ef242b2
commit d27ec594b48d9d2842af9e3fdf3159bfdac1b1f8
commit 34dfca890835ca9f4a59c8a2ff6be8c0513637c7
commit cd3a49af58c23dd5ffa1d4d5a120ee2354d2e8d8
commit 0c89abb25d682f34582ddc766e7e3629dc8e168c
commit 3a876060892ba52dd67d197c78b955e62657d906
commit 2efc30f0161b064f6918316ecd486a8e3feee10e
commit fc0cd4cd1f7fbe6b0cbe651a8b6db6ec5476c949
commit 02bcbd6bfc5932d4300b017dcd2ba7e7bbbffe79
commit a92bfda8783729ac684a0f005a1680602ed1096d
commit 8a948b1b2f2bef2444c403a2884134d46100ec26
commit d4242216dd792b2af6f3e6738dfa71cd50bcd791
commit 79c0d7ddcbb84b2a714620a2abc5016529fcc38c
commit 556bdae320b2b6db124738eb97f2624e92cceff7
commit 826f03b8ac7a9c4660de9b65a81e8926c60b3b97
commit 2f4ca1ba6c9e7a4c2eea2ed8a378817ec1946f4f
commit e7c94bfb747fcec57528f89e53a1461b48ab06dc
commit 65529fa32c60ea15514e99b6ea12304aea732b67
commit 49791b988ac78531ece312043d0113ad1ff9cf0f
commit c3db1b9065d08dac7dd602301c42641dbbe89990
commit 158225294683310566445f8477336e747b74f03f
commit 6da15a236c8c80d9f87e4c5216e00ad8f1cace2d
commit 17529ea2acfa3e2118f5a9ee911e0daf2d88c13f
commit 4f76da231826190658d19ec8d89ea8cd46fdfb7d
commit 615268d4935082ea64729fcc8a35af394ff90e7c
commit 41c81dcf599918c53e08933a0b0a522508eb6019
commit c7783a6ed4fcfad9acd353a087384d31d4cf42b2
commit d3d4211050665442ce50c7b5e837b9031ee85b33
commit fe77d95f7a7f2f567205ce747124efa465fb01be
commit 94caa423e2b5658626382ba9d98f989a47bd2b8a
commit 827e3c9caa77d358a824c3f302032ad6c9d2ba46
commit 34e205112ec078ed1b24e30d90af81e43bc12f4e
commit b8e13105b7fe9a0adf1dc7dd3d5d0647962adfc0
commit d56e38d51cbc902a27f8b2ba244bb6a8950e8a7c
commit e7dbdfa226ce621931a84f60e885d42c232fb990
commit 247a94a627dbd9fed370b575288b874ef4a01991
commit 39fc82b7e031dbf5145de485d66f4a23ef711786
commit 43080c9b7536c5cbc53c5d8c74027c92c7e0110a
commit 5c1a431aaf52bbba8b6e2c4e9b4037a09509c0e3
commit 3b304bced035fa4e1144d657b4687238be931806
commit 61e4de65b99c616d5e074a9e2a4a1a9f821a964b
commit 4bd09d7481047500fcad389251e13946c083b9fb
commit 34955a1e797d074e72d0ac6a514d934d8fe80da1
commit b04fa59a51e80eae9883a419e41b1bf8179e5a42
commit 410e747401a3121cffba6ecb932f5df596799550
commit 70c04ad8441a60ee65ca2e1c40fac04882ba09f8
commit 419c14521e0b090e82353556008833d58c2efde1
commit 1df7e569522486e58307929a726ec8f303c5abf4
commit 3b4e83a232244e2fe911bd39b322e0dc19b22434
commit ab2ac59c32dbec068954de30eda741d012be3c74
commit 1dbec5b4b0ef319d6961d3ecb7384b4f9ef9d358
commit b0f4b23fc3dbd8c5398e9ea9cf1f16a00d9006a2
commit 9b94c609cc1757d5cd4621dc15ba73faa492b99e
commit 736ec9fadd7a1fde8480df7e5cfac465c07ff6f3
commit dd80d9c8eecac8c516da5b240d01a35660ba6cb6
commit 4247084057cffcd8f9897110d8d827d550858dc6
commit 88c98d54b220dfec0b8e4a4400f6822aea5a383d
commit d4e8ad908b2095388a300b19d76b78c170052a8a
commit 221bb3a9c34f8004c10ebcd0eda9d74354d519d1
commit 7136f956c73c4ba50bfeb61653dfd6a9669ea915
commit 1e0301e127cfc708c852278539e0bbd4c77ccb09
commit 1a468dd88a13b39dace8b5eb87a274782a56cece
commit 7f0eac6564dc0967fcd430e0b729068afb70d60e
commit 0cdbffd55f11ab39e5f8902860cc48ae967cd1b9
commit bd7352332b60a5d2fff625332acfa2ad96e0ca1c
commit ee10818362d81ca1796cacdfb8a6c6f857cdb34a
commit a2224f2d458a093486ede49e319a32f02d99ef16
commit b779e4b973b7001555efc9120a7f07e4ae554d9e
commit 2b61e16a3c875f65e341c3769ef2c80b87cf45be
commit 04e6fcc1b374c28e53c1b3f8b60b935a056c369f
commit 75cebd664d57a78af3e46c14bd2659df0a08847b
commit 69a3738ba57f4837a7632064b2f8c567282e03b3
commit 95589cec1cbfe260ab03281c310e4c3a5947c84d
commit c9424fa1f856eaf09e09a3381fe998dd6f905bfc
commit a062b8cf811d49b7ba7203d0ec5bd9fe0b61c66e
commit 25e4b26672a0908078e10733eb20efa20800e534
commit 42b2bdc8c478a705a9642c85d8b3802f5516447d
commit a108772d03d8bdb43258218b00bfe43bbe1e8800
commit 3f1a3a28e9e00a84705b62f0fdc5e31d0f935615
commit f5e92d23f51ced4f366b3193822f705a08beb3b1
commit ad74457a6b5a967641c80798aceb71503dc2bfd2
commit 0d6516efff2cf275591c57faadce249257d58980
commit 59c43748c7c82de9fb537fe790cbfc71734333ad
commit c1c39032a0748be08f6bc33a8dad70b83ef311a6
commit e0f1d483b85bd35ed10985e7d3e64386e4e14e50
commit 668562f49dc67a16e3649432cef341d1649c1109
commit d67927e4483811a23bca1a5508de53d289df3209
commit b70cfd91a980fb423299d1c48f4127d4b7fe79c4
commit 9e33e951ecafea581a5d346c56cbdd00f58814ca
commit c1e48e36c120df7e3a3cb39d17d64c753485f225
commit 73258e916a4e7e8adc9402da68ad9bc40dd38686
commit 04206ff06a849834e1feb21b51735fe673a3e484
commit dacd2d2d9d800b7ab2ee2734578112532cba8105
commit b167259a12f2c49e82cbd077499df85117177a39
commit 961bcdf956a4645745407a5d919be8757549b062
commit 851d635a0bf2a741d0e57889b5defcdf9ebfc70e
commit 4aaa1a98331c9f9fd31f4b80b913c8f0c556c90a
commit 5d53f4c22d367b214f6f737db5cbe6f4a86db747
commit 29a051bd468cba31c227af579a7c57f250570cfa
commit 1416b5473d34d89a85c02889b724f32b56ef12ea
commit 542110f21d811f0fbc661bcc9365e45e23e8d422
commit 21f0b7dabf9c358e75a539b5554c0375bf1abe0a
commit d1e2d6b78ffc0317b41e1465b47e325e2765e5e0
commit 8adc718881e0a70127f8843dd70e69a80de39352
commit 6ad9aa476ce23be45de9dcb03edcdbfdf6117c25
commit c85d00d4fd8b98ea4d16817f397a4de5e177afd6
commit d62c43a953ce02d54521ec06217d0c2ed6d489af
commit b96fb1e724ae6839d5bffcf42dd3503db7cc7df5
commit e4dc45b1848bc6bcac31eb1b4ccdd7f6718b3c86
commit d819524d3144f4703f45f473fdc85ad7579ae94c
commit 8401bd361f5991ccfe9377e502fa37203ad70320
commit 770e19076065e079a32f33eb11be2057c87f1cde
commit 2830ca9e5b98bee82f1d1e284ce23fe7fb244ea8
commit 9b6a16575ebf23a98a9ff84aedde9f3b25731714
commit 49da26d7b418cfc99ad2473a2e3dee2e08c5ba4a
commit f3b173e9094f5b02fb92d641e3e71fee0bcda73a
commit d35a4bf66079b92e232ac85b08f19312be9b7eca
commit 672c473576ca5c9f5a40ac848c938e6898a5aac8
commit 74f481f187ce8b37ec5143cee19147da5243009c
commit e10ea7b9b90219da305a16b3c1252169715a807b
commit 02c830b3719280be4c43fe78f24fbf5db4192f91
commit 549eae27743116da08a7846e09f1e910992af655
commit 1f90b1232773249d924868bec3c31525a69fd482
commit dec4ddbe1d4a4414092309611cc97e6b9dc7ec3f
commit fbf3093466d05461e3f307ffe6b1150daa4b065b
commit a7b98d4dfe68654641d56cdc7eace2c36be93a2d
commit c989a62484ad75e0a06f2ffe67886e7cb6d41659
commit f47f537cbaa48427039f61256f68ce08986d8eb4
commit ed712d30a9d0b8a59d6ed001cc7711d7b9c5ce54
commit 3cc3dd73c420dc70cd366f91a680035ef47edf4f
commit 3913f0179ba366f7d7d160c506ce00de1602bbc4
commit 876552e5d50178cabaad015a464f116c1944739f
commit b98451dc7a0fc4cf235dc09483d7cece362d9ac8
commit ed2eee42d36267bf9e084d7a13fe5c0100d1c64b
commit d5c6ad72966aff6df9d969095b95478efebaa770
commit 2f9d510f810cad1042c6857a516177295eb3b42a
commit 670c6edfbb73fa94026650691ba23842ef282a6b
commit e6a7746ef9a6e11c271935292e381acdad607c9a
commit 6ad045856f7d7d538dd4904a10470989c8f6081f
commit 7f89f9973cbe7c11338f69bcf134de157747d20f
commit 8886200073ee037027d727c2828d881257e28e04
commit 40e0110a85674ea93614a5863b852d5b3bb6e445
commit 822a9778289b9be9f29b02ccaae81d36c979f40b
commit db62b2b7893f724e5032229443b03e0494856aef
commit 16e5859d9faee7b839531e7cb8f4e98954108c75
commit 710080a3794bed269533093f5d2d9e37908962f0
commit 064841347d75e094fa2bcb5b997639ec9e5f9a5a
commit fcd3e58f09952d836d2f491444292be2d8bcf7c5
commit 7ef414375fcc001b6d0745d2931d91c9c736e18d
commit 82bf0f18ce99edfae2e5b4f753e6b2e774ee6226
commit 22c42b0ec225c92db33e4b3045ad15baf1427cff
commit 62f0576c42993a442ae722fe2e67a140e4669945
commit 47c2790ad69d1f072e7e26dc16bb91e99dd4c946
commit 10faf07871b257c46baea0d39df585bade6e9266
commit 9c75891feef0f9f67cf1c8f8038371006e25d23f
commit cc67aae1e3a330e18ead512b525b8721a3b05a6c
commit 6349c73859cba2fabd77494230306ae8a7e45b33
commit 6eef37460584269b240f45aa47ebb61aae848082
commit b0d6de32e30c635aac22e52357b090982d94df52
commit b0f5b1004ef8fbdd7cb314fe0bbbc115beae057a
commit b81fafb9360f8577f660eb996602a7a58106bb7e
commit 1591a6478fbc61a0b30765a3c2b222fc50db849e
commit ba5c07129896faa2a261d57ea2176841fcff8723
commit eccff6cdde6f47dcd88fca8c638e0d651f0e09f8
commit 441595baa55ac7b60fc9a344228faafa275f3354
commit c4c3d87be5cbab46039633731d8c5fb203c7a95e
commit 5fb78600ec1504d30a7af7b0fdf2f2e6870ddea7
commit e7f2f4cd67443ce308480ca461806fcc3456e0ba
commit 796d6a37ff5ffaf9f2dc0f3f4bf9f4a1034c00de
commit db25e5d51f58add0740b17d8ea5cfd4cb051e3ce
commit fb579c4229d10b0d98c37ebfc5087863574a2524
commit 0c41021cb812d1492b426fe8d0435cd529771ebf
commit f57da8c04f183f90cd450a5d5142109fba340417
commit abffd871d4862f9e77979708d1df45152becf8b4
commit c1143ca2d523dee0f6012638068abd202a50a42b
commit 2447ba5bee91527d3d49c5271b6c34a84fc67bdc
commit ed2770038bbc67abc60aea0108b698be3bc93e65
commit 63423cf109d8308faf5d5946b1f57f5b0d6ae8f6
commit ca86bbdd9b47464d78ae6af565a6e78c6e4e2fbd
commit deed8ec482a6e7e84dd5bcaac5f77c75bd8093b3
commit 6e602264b9a8adb3133faafdd06ba0f70716a2c2
commit e294bf36bd9b000defa9f80f054ae355a4914b0b
commit d1a4ae582448a4afe38b7f117523fa2ac2e96599
commit 9680810f91f2591b16b76f73d1e0d49af874be0a
commit 8bc14183988849e99046595785ceadbe0b88f7a7
commit 4aecd050a825c1bace2a35326b4c8faacc9ecadd
commit 66990450e3a0b6dc7baeea8f69684aa5d3ec2ba2
commit 8434f8180216a9c6ad498c5f50e05a2cdbf81e03
commit 41da5fd2d93fa44946cd7d202178f982cdb587d0
commit c09a9bee6459eb6976b6db3f33d2776243760d3f
commit e4cf73fdfa420eb73507cf95c165d5d538d70d76
commit f5c7e7797060255dbc8160734ccc5ad6183c5e04
commit 83d29a5f8a5a8ac76fdf8b8ccca65899345e6a9e
commit a6ad27cec585fe715b95fcc930cbc460c678080f
commit f4b92fcd740d7c90eb7b011f22deab6192ffe44c
commit 4953b6b22ab9d7f64706631a027b1ed1130ce4c8
commit c2b08e7a6d270d25e8041510adf82b4a657142d4
commit d4423feeb7d316f1a31a5865a21b195940d4d7e9
commit ee34b77f681e9656d229b1df48ea67f019bb6335
commit 7221941c4f3249f6e67090820c827326e2e4459f
commit e71def057252c0b5189618ecbc7141b56db4a74b
commit fa0706e9775c10a9028e0b8d74c274cd4a179fda
commit 02d6f9a13ef3316da5c64540c5a376f07781c853
commit 71dee0361bd04f31c37525e69817654c6e23c97a
commit d6cbe630f3e9a5b11ba4082ff980ccc094224610
commit 110ae8a21bbe779a133c1672a1463105c9d50590
commit 16fb4dca95daa9d8e037201166a58de8284f4268
commit c05d789fed948ed6a45963ae0d5d79c67b87aebf
commit 68ce8b242242651eb3cb4ff29b79c44d02f752c9
commit 4624459c84d71e0d5f94ea6a7b2c4eec4f1d122b
commit 8522b42aade9dd0a0659c94095094a41e9664309
commit 0b844b6ee28cb99ca387880435044cb55a51d73d
commit b091fc6f8e5bb27577ffb71087f06730f33a8908
commit 6974340554d227ab6b8ecd933581857b227f632b
commit ca07f4f5a98b96211a2a8fe51b35c039720be888
commit 25ea501ed85dc3c224db73fb79d38b6109c1ad99
commit 4bb71fce58f30df3f251118291d6b0187ce531e6
commit fe6f695d8d03f98a04f6ce6f6e8eb8e4d0c450fc
commit 48c35c428c7feb06761dbc398139eb7e697c6608
commit 72ca70acc7658b99ec39b75971002fb1c8d48c1a
commit 47cd3af67de0bef9d50e37197dc307ce83768142
commit 849b1f33437e223c0933b4aa803356542386a989
commit a40c7f61d12fbd1e785e59140b9efd57127c0c33
commit 0479956c94b1cfa6a1ab9206eff76072944ece8b
commit b38e77cb7bebd341090f99021cefe6cf81604971
commit c1806d78eca8df6e9c6d07652e1a0bf1c4669984
commit 998debbdc8f49bea4ea8bff9852faa170e996bb0
commit 757eb2bedd08a1dde6dbb67abfdddef8d8a2e882
commit c2dbd69e7b3a02b39ebac262c8c6c7f53df584c7
commit 3e43b760c9e14fc0b7bd553efb01d9ca825cf338
commit 0641dbefd4a14eb262583a595074431ff1ffd270
commit f3e6173b4bbdd9116c9a085998d237e1c2724a2e
commit a97d0ec8bb7cb044d3d7d496a12704daa17dc636
commit a0d9084d7f6f5ae911b40d13ce33055b6c7aaddc
commit 435d6e6f02234ca0f2df88f4bdc2297da1529379
commit a5ddd2a99a7a393ceb023b83d7e78fbb3284bcfd
commit 39dd0cc2e5bd0d5188dd69f27e18783cea7ff06a
commit fc44f3636a4db6544fd1532280e8adcd1ef13ba2
commit 19b5e6659eaf537ebeac90ae30c7df0296fe5ab9
commit 461a4df2a833bc6d83139ecf117e2f844f38f655
commit 9f4a57148120bc9178922445409836d9fb102aea
commit 43bee41415a6e70719dfabfa52a413064c3cad51
commit 9d6b59478cc57469f57c57a492aee732d5ef094c
commit a70abdd994cb0e799c131d3db2821c02f85422cd
commit ec9c88070debd8d87335f2468481a41d6bc2d0c6
commit 0406faf25fb12d29cb1823e641c6f3f3e2037735
commit f158936b60a7874f29cf8de8d83191ad69119c11
commit e820f52577b14c63f7a15f534e17088d3c6afa6c
commit 84ec67288c10fbf136aa050d00b0fe7a89655da0
commit ee7d633f2dfb12bac90898edf2ceb5f43a4957eb
commit 95a77b6331c2d2313aa843fa77ec91cd092ab0e4
commit 6ce6fae8453687e39e564dc15b6142fe79d76ad5
commit ccc2b496324c13e917ef05f563626f4e7826bef1
commit 16deeb8e18cafd30e70d8dc2b12a753b28298d8a
commit 4aef2085613106d0a3ce868a45f080babb4e3478
commit d6d36cf2f8efd78455286050d6d8f9a8969d63b3
commit c7bcc1056cff6d99d173d4707057f3dba94d32d9
commit f683b9d613193362ceb954c216f663a43c027302
commit 7bfa5c7b28d66d89daf0808bf36ab7fe0e9e93a1
commit 0055e45d837483d644b868755eff6091b5b51ce0
commit 7fcf19301ef745adfa9fa1baa7b829c77dec5e22
commit 52a504e868e78d866ed204be59be96abd62dc69c
commit 4b5a51e45f296f0477485cadd1fb7e03295cc455
commit 25bbfb930716390405770bb79f0d348ef93c5a7c
commit aa17e57e5c67330c36d915da2925ca27099c096a
commit 86a4e84a9d5247daa2eafef05078ae9f3e003bf1
commit 47c3d0752bb6b412b8d1c08a1e88738fe5b9829f
commit a50ab1bbab26b26fa070e83c47687e6a0bd52302
commit 30b1a0797e0bad14f95d349b43e3df3a157b83b6
commit 09d6838f377e273e112bb20eba1e569c62e1ceb4
commit 8397d2984528b838bd4a04af3173049426d2ba28
commit 43113fd4c5f562b47da68927b9ec2369e1e76358
commit 2f24fe8c54cc8d7e3432c17988ded0fffb192c1f
commit f3f716ae5d827fbbdf994c9d5b05d05fe33c8ced
commit 453114319699b6bec2f2ab9bd87617ba25f6215e
commit 45eb009f8d1d3cc38de9c3b5be20301a2aa9cec0
commit 85f17d677f6c40069287617630f202eb20fcfe36
commit 5b415212686a0fa03f9f906a0c8ad2410590230a
commit f6f8bb5989a362d1c5f613c4487dc7adb8627dfe
commit 95d8c67187bcfaa519bafcdef9091cd906505454
commit 907cc346ff6a69a08b4786c4ed2a78ac0120b9da
commit e8573000f4bbb7bfe48da5de5981e5dca048c433
commit 019d157e5b0355b4da957f262b3eeb3b7a948f8b
commit 7b4d8db657192066bc6f1f6635d348413dac1e18
commit e3e7f178d4d82743786d5a002b714b5d516f5870
commit d25404a359b24a887db56b52064b754f79921bb7
commit 2ab69739209c843a47af82c0620036b233c83688
commit 88b61e3bff93f99712718db785b4aa0c1165f35c
commit 39a35d52d48402957ba915a9d50b2d77dac45bb3
commit 7c32d4e37ff3595ce947e4e0a2f098fdd05ae7d4
commit 642c0401135d9877d6888fdd2b0fbbee3b134409
commit d0fa84f174770679ea22076f4f754bfde2f3f0e1
commit bb66ecbf122cc5ca52c569f0f84b5d1b2c00f6b9
commit 629c30db7c6812fe82d2dcc0110c9e994a831182
commit 74365388999386d8becd147945a714be2c36228d
commit ce754eb9392ecdf1e843b209a643c4d5fcb2d7f3
commit 425ad8a5d3b09f09256e44cb6b55959b18c15618
commit ec71b250170f60986ea1d2feba6d3b6a63bb1ac2
commit 93cad722d3fe546744bcc484c5945d09d5f22d45
commit 5993e4c68add76bdec1efff1c534b8610f69ac05
commit e268df1d20b89d1d448277e16ce1720887e8bdbb
commit 15aa13056d11dad1e54d65acd854184f3f74a5b7
commit a2d3b4b81fd49b14782ce0ff68ca74e40f16609a
commit 108db8decf0e5ac5f7b64967f434a32125b75bb0
commit 52642d13d600e7580fbf4c09dfaf15e187ab1625
commit b077656b8c5ec9ac238782e20fad42f6d6d299d4
commit 167be8522821fd38636410103e1c154b589cb1d9
commit 82806c25d5e9d927ecb68c0c3679dd41187c9af6
commit 585a82618bc422508c0c8ae0dfe2f76f22c28361
commit 7971b5c253cb1b3293dd1479f4912899021451d1
commit 3e9cf23428701f055765d66951b01286f94df056
commit 202c1e3dbc882c9040208223c12d158286475084
commit c054375159802704d099986f03d0b7d21b590fac
commit 97d8d6f075bd8f988589be02b91f6fa644d0b0b8
commit d3d61281edc0ab0c3d566e760d5bd4db5a9c217a
commit 7712b0a7df76447515752afcf8ec470b17ea30ef
commit 936675464b1f481ad432d6a4fb75405c0abc71c7
commit ec55a1c0813efcc8629f4af8e17b6da5265642e3
commit c55bf690fe79f04cb8ebfe34144079777021cd7c
commit 567df29f51a582ced8d2f56c7f531757496fe7f4
commit 1f21390ec6026da538a71ac254295461be7ee0c4
commit 3267b7c05bb76f8eb6da90ae0f5b0d523b9f611e
commit c02e6444117f112bea468d3615ad6293cc7de64e
commit a6135ddec2258cd52b5c8d20b45bbaa29b80c5a0
commit 5d4b5914607803407c1bd3fc8483f93a67cafd0d
commit 17caab0f0b47d53ad02e20673b51f30a6a16025a
commit cc8dee689a6bced98c8bd83ffbf4b2041641a860
commit e18d9839b174d6bfa0d620293098b3c6a441cc4b
commit 3141d6cb64e7a76af0b87e1f28c54d67963db871
commit c08978577a7b17736d9680aaa7e0d22dc775c326
commit 525a65c77db51cf5d6c6d8e3f8d07efeb2270416
commit 5caa63c7b7e1cbffd5095b7c884752aa7228b7ef
commit e32df0c7ecead95d70ca89f39b1b2b02a59ff691
commit 1e939ea1bf4917095575fe4ff1a42578ff234605
commit 047783cdd5f604d87398236beb4971abb4d43293
commit 18b85e98e10d9cea5c23b710e78c5f68897fb3a7
commit ce438e99015871b9226c27066fe72fc05f18e8bf
commit e844cc250f33d207077d0af9337484d6c94048f0
commit 415be17fb2f4a70afc827332c936955b801085ad
commit 940d4dd402e97941aa0a92436cc3d4c2d7c13157
commit 9e447c811ab31cd69d8fff18283fb695e1ff59a5
commit 2d89e2ddfd00ca569dd73883c7c70badbd57f4ac
commit d7274ec723cd0c2359ef75f84deca462a60c5025
commit 5d8c3e836fc224dfe633e41f7f2856753b39a905
commit baf28cc10ade932cec707e3fd723e6c2850efe3a
commit c19a5f325a7fb5b353976d66d6a92b35c0322138
commit 1014bd1cb32552b732fd0f6ff4e68f32188d59e7
commit cd4c99f103af5a85fcae5d31a9e85361679ab979
commit 5e1fdf76cf9b1b764d6061d78c29901d774fc061
commit 3ff4ccc3e938159c47c4dc3ed8e2b964c3604b50
commit e67135571e4073e1ee252f839d7a1ccf10f89410
commit f61a825aa86115dbdcaba25bba78e007b5e8e1b1
commit a79852a39332614d30a0f81785803ba72877a575
commit b55002b9b575770fc0619dee8f6203697054c861
commit 4c3386f64a432b3697fede579d06f9c1058043ad
commit b28d204a7c19231c0a37359f82dc8c4b234d1d16
commit c9b48b91e2fbb74fb981aa616a6ef3c78194077f
commit 0bda8d828f3af92c37d7667d598dee77a64cc46b
commit 0b37f47494099e74b3cc11d71a763b36b70ea2b7
commit 730548ba023113a15e5233deebd49ffbb02b7322
commit 8a7c3ce108544334a9c7906f61d2701f433e44ee
commit f423fa1bc9fe1978e6b9f54927411b62cb43eb04
commit 54b978e03a3ce7aa3b40deeb1b4c0c9dd6660aa1
commit fb443f36f3b9af6a4590b6e65e2d7affdfe0da18
commit af4e20d335d4414814030ba26f1689884c831269
commit 1de2e7e08e8cd0f281ba9f079a25e72543fe82f6
commit c56453a00f19ccddee302f5f9fe96b80e0b47fd3
commit 484b2b9281000274ef7c5cb0a9ebc5da6f5c281c
commit 070a2855900de17b1e11a0dc35af9794e80f1a28
commit ccfa6d35f9233702c924316cdf40c05b6ce88113
commit b2e3a1af8cce4117de06ff1a4eab0749753ede27
commit cdf6428dd518435a05739abf7659589de30970f4
commit 4ae9f874dc1d662ce7bfdb8144903608bcc3706b
commit 65898687cf7392c372ea8d04a88617e2cb794465
commit 98828955971363e838149105c268b1fad905f15b
commit 1aa3834f510c9d9206ce4d40aff4903b0c016761
commit bdef2b7896df293736330eb6eb0f43947049b828
commit 89345d5177aa0f6d678251e1e0870b0eeb1ab510
commit da44c340c4fe9d9653ae84fa6a60f406bafcffce
commit 062e720cd209d8091c4f3d118d93973f02209aca
commit 290aac5df88a83e264b3a73ec146e5e5b3c45793
commit 0bc79069ccbdbe26492493dd0c4e38b7cadf8ad5
commit f2fbc72e6da4f8e01fe5fe3d6871a791e76271c3
commit 685a1537f4c603cfcaf4b9be56ff6a571f7ddd08
commit b86406d42ae3c41ae0ce332ea24350829b88af51
commit 7fb68b6c821be7165d5be5d8801d909912af9159
commit 7e6739b9336e61fe23ca4e2c8d1fda8f19f979bf
commit 91954c6c904b515baafaee6a1f35c94409a3bb68
commit 8ab1d7a27eff87001ebd0977db600e4187f63f78
commit d37f379ad04dcc21ebd1d2380c3bc979d54f7c46
commit 8abbc4f768ddc5c2190ab8966e529cec42b4b2d4
commit f7367b5fe0e38af02d6915a355f2ee63b172c9ac
commit c1969fbaa57d88ddef626bb8ae313d38478d8631
commit ab5220bb5a910246c61512a9e29a4e2406cb1ecd
commit d35e8b7ae01430b1e722547b2ef40f42dc30520f
commit 96ab3cb3b0f862308a03046d01d66c7b4154846b
commit dfb3367bd082ccf52d3c13ff62257f08407dffcf
commit 40169e2f37127b7fe60736045b1f9fc04f76b471
commit 283e0a673cdf59fe103707ac0466492b315c81a2
commit 749b6c2ac9d9a7a4d8f4c2e4dc6fa830fd6c6ac7
commit 7aeb2e47e43d5acd4638c64b4c0c01ad90feea51
commit 1178ac68dc2869a2f4192600b701de3d853272d2
commit 380202c84454e89d29a9abc670f09b9145617d58
commit 345d6493476615494bd79a8fe77661918ea7c61a
commit e4e481e4d838f30985dd46d43ed195110ed265f5
commit 4931ce22eca6ed5f8a3a3820fd13e586011ac219
commit 8cab4ef0ad9521030e1ae4bd294a1e2e6a04659f
commit b808a7eb30b02e05023b505fe6db590ba799683f
commit baec651f4160f4c3f029edf84bbc18b4fcba9cf5
commit 51619c671316e96d7adaf2b6ea94ce245b81b6dd
commit 2d550a159c55ac836a554fd605545b0feb5f7266
commit a2909ff460a8e02168b3658372ebc897f7ab2315
commit 47b7dd9f68c12e7d33a0dfd3d9a5bed755097de0
commit 9114b55fabae5522b7124af4f16ea6ce6378aa19
commit b33cd65df18f1cf60b066a02c09df92b4763bb31
commit f1b47f0004cfff051441aa93b7115d756d5eebb7
commit 3f4dee59253a6882acde98a2a027e55f1330ae86
commit fe674c0b6f5382b7c377ca2c418c26dd78b428b4
commit f638fe27b817c755e017b8a6ae4b9b4224461941
commit 46c87432e3d4cea8e1a7ac6e9e3ebd2462f47617
commit e626d9b9c6e038a6918aad1b5affd38f6b9deaed
commit 11895d32ffddb50152f0a1e671d36b7f60e4daba
commit 54fae65ff469a79fc0ca46f480c4e7fce50f3963
commit 36939c94689ae7e6aaa9a0fa37e5c41616f76665
commit 9691a7a776302c85c10294f1a92c15c7f57a5947
commit 07ebc18c047adcd72905619e72ae7c48db28ab48
commit a3daede47576037ff7bbbe9cbd36e52a71d92bc8
commit 7e6d5cf8e3e3f8050de52a28236d5a172caf2da9
commit 95c985ffc63e2a7d8f6aa18f9351f5010a8d1adb
commit 8c39634d28fa460869702b9801d2efe06671b342
commit 525530ad9a7ec9aa34266e1429cc5ef9acb58e6c
commit 21a550de5faf9f54013334c9a6a7643b8fd80b36
commit f6aa84b83aee629fbbbc4ea16c2c142caf920d5a
commit 8799c0be89ebb99a16098bdf618f49f817bef76a
commit 7d30ccc7761cfcd6756aa0b760c5f5493038d30a
commit 5e69732d4a89928b7daaa651ad869cebee28bfff
commit 7e4ab9fb2b9449ef01977e79157d06c8900f73fd
commit 312b4dc11d4f74bfe03ea25ffe04c1f2fdd13cb9
commit 9a3c6067bd2ee2ca2652fbb0679f422f3c9109f9
commit 2302d507149f0ae7cc697089ab5675a2d4cf9d2a
commit 70df64d6c6c2f76be47311fa6630d6edbefa711e
commit 7a3353c5c441175582cf0d17f855b2ffd83fb9db
commit ab296221579715fb8f36a27c374ebabe5bfb7e9e
commit bafaf67c42f4b547bf4fb329ac6dcb28b05de15e
commit 9d84bb40bcb30a7fa16f33baa967aeb9953dda78
commit e8bc52cb8df80c31c73c726ab58ea9746e9ff734
commit 7023472834a39341460dae5c9b506c76c5940cad
commit c5e595e752b3a1c68cca57c3559521237332fbec
commit 8afc66e8d43be8edcf442165b70d50dd33091e68
commit 0e0073eb1b60f4ec6faecea034a6772fe1409a88
commit 4f5bdde386d3b8e9317df5562950e1b4fa177599
commit 99243fd1f3ca40d487209ac76241de0478962a9d
commit eae2331899f9dcc923d37d1d753f2de847c92359
commit 5ff32b52995155f91de582124485d0f0f8881363
commit 2fd23d467d4fb4e9bb3c3758ee49799f690f5f72
commit c19d3eace484ca5627817a1de85af1de06d538b6
commit e50f67cf5e168d92e24cfb61fb11f2f0a35708cd
commit fa28030a83a6302f8724cdbf0c477536b2101033
commit 20dad3813b3c15d118bda0496711eb7dff98e74a
commit 876fcc4222e1d0e5b73343f4010a8b66be058f48
commit d6170e418d1d3ae7e98cb6d96d1444e880131bbf
commit 3867bbd44f2894a4e2b01286b3b378c058992cd7
commit b73353f7f3d434e90da9f0e127bba1fe26cb1287
commit 6f4f8ff567c48823f8279206e236643e8e8f377e
commit ba30b223c93ec5af63993b6397cd7316e5acb6c1
commit 1298d9ab848653fc35431581d6e36662c7b6935a
commit 15e8b368981e1e8420f08b35bb12b794b200f4a0
commit c8588697aa4ec1f3b7fc09277cf2a5a662d40834
commit 9799702360d51a714e888fef4ab5fb9123dfb41f
commit e5da651985be20616a9e0662032e0ea2ee4dd468
commit 571c053658926df3321633b7133f574d3e656c81
commit a98cec220aa4b2502704aa0196da1bdc9eb455b4
commit 2cc4a5914ce952d6fc83b0f8089a23095ad4f677
commit d2bd0831b51d1123fc86c019db3452d6a1ce5029
commit faf4d8e07f5b67bece91723ad3e8b3f88a3dbf23
commit 27bc50fc90647bbf7b734c3fc306a5e61350da53
commit 6c482c62a635aa4f534d2439fbf8afa37452b986
commit cdbb816b5bfeb69ad925805d99b2ec312b241f1c
commit 44420ac5f855f5704d8f939926ed145f99e49e55
commit fb4d5891cee6d1c14b8d8f1b65c9d061ed3a495c
commit 38dbbfa57c08b29ef8cf1d3fb3ad639ae819754e
commit 6dddc1eb9632b0eb6098d1dc849e8acb2408c1b6
commit 832e72dd0d705bfcb4236bb2d561d82afe253e63
commit 09f1ef99ce900dbc3659d478f006081c96cc977f
commit 1ba25b6ff24303fac890d657ffdebf3e8db3bc25
commit eff4ccd11313ecc8ec94c0f39961ffbf227a406d
commit 9f30bf9917612b3a85cc28dc8ef98667ad5c07f8
commit e1e6889fc7b3e5152218db7d9f03c2f81569d54c
commit b1d1666276cce28743e2cf90be07182ceac14f1e
commit f00844daa5212aac609d9cb97ce5e0a74c67890a
commit a895014853ea6df2778533e2a0bb7a0d53f02ec2
commit 1f768ba469002d2dcad5c3d667151977417df7d9
commit 695ddc9318ad45b6a32f902b7c6998c65d575f26
commit ea19684afb545605bbcb690c49a91ce2c8e596dd
commit 81895a65ec63ee1daec3255dc1a06675d2fbe915
commit a251c17aa558d8e3128a528af5cf8b9d7caae4fd
commit d6fe5887ca891f5a7a3998bcbeccd6ec2e215132
commit 0811b9e4530d7c46542a8993ce6b725d042c6154
commit d3cf40513330752238ae585fdb0e46ec6baa588b
commit 16ce101db85db694a91380aa4c89b25530871d33
commit ef233450898f8893dafa193a9f3211fa077a3d05
commit d9b719394a1147614351961ac454589111c76e76
commit 249881232e1471d28b68f9a3829acc14d150cf5d
commit e55978a4f264676dfbbd5d955c88a60c6eb3aa7a
commit fc3523a833c9c109e68209f1ecdd15864373e66a
commit 9c9155a3509a2ebdb06d77c7a621e9685c802eac
commit 2130b87b2273389cafe6765bf09ef564cda01407
commit 5e714bf1713b4b096d20ec75c13880b7086964bd
commit f1947d7c8a61db1cb0ef909a6512ede0b1f2115b
commit 65f8682b9aaae20c2cdee993e6fe52374ad513c9
commit afbaa15501125ae0b7de9dd16c6f00c85de14218
commit a340847b0214aa9b8fd9839f7b2822ccc607edab
commit a31e62873f11dff12cbeb8e6f864d0c8e5be0869
commit 4545ae2ed3f2f7c3f615a53399c9c8460ee5bca7
commit 4d72a4e4fb5d870be52ce38e5672e4b71ee1162f
commit 4c7f9a3c15344ccc682c77495fddea7dcb64027c
commit 657e07221ce046132dd78f6e19c04b32a78b1d25
commit f700486cd1f2bf381671d1c2c7dc9000db10c50e
commit b7a76a29140810807fd85d15470d91b7992b6acf
commit 7cd3f6c3ace44ae9a9950a8c02ebcb8069278aab
commit 001ebcf5b903646b40697d9b1dc9b24daae82b4f
commit 3bd026c3e3317e4490595848261fe74d76e74126
commit 528c0e66e0c01a8c078d2d94431db80f9c75d2a0
commit ba2f09960e75accf757ed12b4ef61409dcc97df8
commit 3059cd8c5f797ad83d2b194ae66339f5c007ca43
commit 5fa993737b29bffe931cc5d0feb87ebc34cd5bb3
commit 31c261a7ffb8d5bba8144e2d43db304f2bc7e81a
commit 8a70b2d89ea3f2dc1449f0634ca6befb41472f24
commit 97a3d6090f5c2a165dc88bda05c1dcf9f08bf886
commit 5ce4726a1376bd0673d7b8edd243e76fbb4476d1
commit 2abe92c7adc9c0397ba51bf74909b85bc0fff84b
commit 8273b4048664fff356fd10059033f0e2f5a422a1
commit 7b476affcccfc7e644541a0a719f53fc7bd34c53
commit 01f2cf53844b01e691516b465df1b6ab01b03230
commit 1aca5ce036e3499336d1a2ace3070f908381c055
commit 7089003304c67658caead22f841840fc4a26b198
commit a91e5e3e2216354e27ee6adf9cb2d5d9548cad8c
commit 7228d9d79248bd0c8af56a7667a88a875c674e0c
commit 72655fb942c1e3d9e71e48e87ee439abe52f3a90
commit 50b0e4d4da09fa501e722af886f97e60a4f820d6
commit cbc543c59e8e7c8bc8604d6ac3e18a029e3d5118
commit 97061d441110528dc02972818f2f1dad485107f9
commit cb8e30ddb7e345867f6f2da8a08291d7d9e037db
commit 440b7895c990a63869a9d55e5c2502dd501a124e
commit 79610d3041338dc1ef554d6fd8b3b3e23be527f5
commit 09aef0258a327409bb2279a5ba8f82ad2ca099ca
commit 226dcfad349f23f7744d02b24f8ec3bc4f6198ac
commit 1a3abd12a394f5c66943fee75cef533069e831fb
commit 63720a561b3c98199adf0c73e152807f15cc3b7f
commit 5349fad8f8a4b001557633d149850a14b2e1a3f0
commit 90bfee142af0f0e9d3bec80e7acd5f49b230acf7
commit 08841950db932dc3ba8bbd4c0f1f7f27ccfbae42
commit ca08a1725d0d78efca8d2dbdbce5ea70355da0f2
commit abe4d9f03fae76c9650b0d942faf6990b35c377b
commit 68bc147363bd9769a07d1cbf5cbe2bb4573f4e3c
commit e105b6212f1f90c56c04439279d0ef0f8dd1c308
commit 9656db1b933caf6ffaaef10322093fe018359090
commit 969758bbf5e9360b63bbb2328ac3fda46bbbc9f5
commit 809734c110548dca410fb0cca52e6b1540319f5e
commit b3af84383e7abdc5e63435817bb73a268e7c3637
commit d61e1d1d5225a9baeb995bcbdb904f66f70ed87e
commit 200ec44ab7f9499a1f703aea0d7ba7d33e012d2f
commit 9520b1d09ecea64c5ed9b90d6f01e10fb3f3ccdd
commit b2196401949ed2517bec676928f837e6bbd01a65
commit 6fdaed8c79887680bc46cb0a51775bd7c8645528
commit d7164a5048e8a6afe2cc4aaf7f12643c14e7f241
commit d3f6bacfca86f6cf6bf85be1e8b54083d68d8195
commit 3e206b6aa6df7eed4297577e0cf8403169b800a2
commit e79762512120f11c51317570519a1553c70805d8
commit d372ec94a018c3a19dad71e2ee3478126394d9fc
commit 12caf46cf4fc92b1c3884cb363ace2e12732fd2f
commit 341421084d705475817f7f0d68e130370d10b20d
commit 14aed119942f6c2f1286022323139f7404db5d2b
commit e59843c4cdd68a369591630088171eeacce9859f
commit c580d758ba1b79de9ea7a475d95a6278736ae462
commit 6cb5cec16c380be4cf9776a8c23b72e9fe742fd1
commit c3d3f35b725bf9c93bec6d3c056f6bb7cfd27403
commit 9cb0dc6ccb7df9abe1407574ed4ad84895822d11
commit 89b3554782e6b65894f0551e9e0a82ad02dac94d
commit e542ca6e3e554bad53b2ea5741873b67f4585ea9
commit 5b994354af3cab770bf13386469c5725713679af
commit 8d4de331f1b24a22d18e3c6116aa25228cf54854
commit a3e5ce56f3d260f2ec8e5242c33f57e60ae9eba7
commit 8fe8ce896c1cc29d6bfebb3c7b3cc948f72cd32c
commit bad610c97c08eef3ed1fa769a8b08b94f95b451e
commit ab007e5db5d3b8b8975c7eec69992ff38fe2a46c
commit 8dc323133d74518e3b5b07242e2b2f088799ea6e
commit d5e0fb0d9dea545defb963ec1073bd9a1a8b5395
commit 7461016c5706eb8c477752bf69e5c9f5a38f502b
commit 6640f8e5adb69a0550fe1d224d3ac64c10f00eef
commit c941ffc39e27ae46c5fb6a33e81d89c9f78d373d
commit 980a2ff2cb987e2177a1bd02633f4259a0d1daab
commit 6295f1d8b4503ad8a18519b781dd2d1fe5e88c52
commit f90daa975911961b65070ec72bd7dd8d448f9ef7
commit 4ff4ebac3f1378f4ba6e11fe5ad4a4ac590bb8a4
commit 19b168136395150a4a6e011f944eb30d3d85094b
commit 178e31ce82d0308a9e5f2f15bfb4493160136729
commit c4299907c09a638c0a30f029338d07941c049d73
commit 308451d9c7fece33d9551230cb8e5eb7f3914988
commit 653f2d94fcda200b02bd79cea2e0307b26c1b747
commit e0b26b9482461e9528552f54fa662c2269f75b3f
commit bc66c9ab162d2a633ee3eb864d7bc2369e79c1e4
commit 66f7903779fbbc620bf1040017e4833ef6a0b541
commit b91c23e099f0b65d62159da13458c5eefa76083f
commit 77c092e054262b594614bad5e5f47e57c5d29639
commit 632d06985235d988c9d7e6eec8fa655be0761fd0
commit ab4b35008db9b7ae747679250e5c26d7c3a90cea
commit 0d5c5c210a4d4e655feb93b379647f0b179cdafe
commit ce62198d8b62734a985d22652e75a649be052390
commit c0b2753f5db281b07013899c79b5f06a614055f9
commit ce902d987a8caa5c9a96080e280ecc992414a127
commit 30b8e7b8ee3be003e0df85c857c5cd0e0bd58b82
commit 64f65135c41a75f933d3bca236417ad8e9eb75de
commit e034a0d9aaee5c9129d5dfdfdfcab988a953412d
commit 0c85c067c9d9d7a1b2cc2e01a236d5d0d4a872b5
commit 675d84621a24490e1de3d59a4992a17fa9ff92b5
commit 876153ab068b2507a19aa3ef481f5b00a2cc780f
commit 2e4b294576e32fb02562ad6839d6888ab7b45102
commit ff963634f7b2e0dc011349abb3fb81a0d074f443
commit 4979524f5a2a8210e87fde2f642b0dc060860821
commit b7ffd9d9ee13de2c5ad88046a5149de4cfb2a74b
commit 9ed1fdee9ee324f3505ff066287ee53143caaaa2
commit 3c9fd44b9330adc5006653566f3d386784b2080e
commit 4f68332b2f89ab84285e5b6cb3d30e8b9894bef1
commit eca13f3c67b6ddfcc61fdb9bb1c5f9a7724e2359
commit 5428672d39b7750310cf4e328e9f94a7668b5565
commit 0d502ef8898b3983eef9e40f50dfe100a0de5d93
commit 7af87fc1ba136143314c870059b8f60180247cbd
commit 2c2911e09f19eac85df83b3201b38e69b8117059
commit 8d8494c3467d366eb0f7c8198dab80be8bdc47d2
commit 7e952a18eb978a3e51fc1704b752378be66226b2
commit 0a3e0fb8cfee4f45f1b1f3d4d028a4519c89d577
commit 4d285241230676ba8b888701b89684b4e0360fcc
commit e7e4f77c991c9abf90924929a9d55f90b0bb78de
commit 246e667079e8d0fc85f842bceca8c5a3c5da5905
commit c149947b188c651b943c1d8ca1494d1a98a3e27f
commit f8d7edb0cda6ea1cba89d6f8aac74613e9cdc075
commit 0e444a4de6b38c4593a07e4cfb5bf54c40cc79b6
commit 192039f12233c9063d040266e7c98188c7c89dec
commit 6f9eea4392a178af19360694b1db64f985d0b459
commit f8794f31abf33a3b22c72002783670a95e6efc51
commit 8652da45d09abe1b3174dbb80dc5176b8c3fa08e
commit df7c013efc1a0da8861099802b2d6ab2aacaeb1b
commit 4b14841c9a820e484bc8c4c3f5a6fed1bc528cbc
commit 5954acbacbd1946b96ce8ee799d309cb0cd3cb9d
commit 5fa8813878d45bf6961fd22c8deee53f6a2791df
commit a73b603f918f1425293b0b5c6f54d7168cb86221
commit 585f2bc8fe692d31593633df99090a1039e789bb
commit b09d6acba1d9a23963fedf96b4191502a4fec25d
commit c19083c72ea72a1c12037bb3d708014632df80e4
commit 00a6c36cca760d0b659f894dee728555b193c5e1
commit ebbaa4392e36521fb893973d8a0fcb32f3b6d5eb
commit 3ca682389435681e2d660428be2187fbae0effbb
commit ba891436c2d2b2a6d6c1bc3733bab3b72f07e87f
commit 2f3a1273862cb82cca227630cc7f04ce0c94b6bb
commit dfbc00410c48a9896d4a65600be7137202517780
commit d60b82aa4d67b2e6cf0364947a008bb7255ca4da
commit 85ef1679a190a9740f6b72217cb139a0d9c58706
commit b39df63b16b64a3af42695acb9bc567aad144776
commit 4458da0bb09d4435956b4377685e8836935e9b9d
commit b9ab82da8804ec22c7e91ffd9d56c7a3abff0c8e
commit 91abf28a636291135ea5cab9af40f017cff6afce
commit 14af5d385878d22546914d37f13a314b14825a42
commit 432e25902b9651622578c6248e549297d03caf66
commit 4f2bea62cf3874c5a58e987b0b472f9fb57117a2
commit 44035ec2fde1114254ee465f9ba3bb246b0b6283
commit 5d82c82f1dbee264f7a94587adbbfee607706902
commit dd2c028c1395d622df7ddd6837f8ab2dc94008ee
commit 2a5dd86a69ea5435f1a837bdb7fafcda609a7c91
commit e667ee3b0c049bf0c69426879586a2572bb28d26
commit a26a54fbe32b564ff868710d59fbe1a387a2cc7c
commit f2e1aa267f12b82e03927d1e918d2844ddd3eea5
commit 3cb93f390453cde4d6afda1587aaa00e75e09617
commit a6e1775da04ab042bc9e2e42399fa25714c253da
commit 602ad43c3cd8f15cbb25ce9bb494129edb2024ed
commit ecb41b71ef90cf4741bcc3286b769dda746b67e6
commit 9e2c5c651a63baaa39005070481d39dcf5b0893a
commit b65a648865c4a1e717c4f56f5025546b9553189a
commit e57702069b26b8601a33fdc0c9bbe40c6bb9c72f
commit ed14d225cc7c842f6d4d5a3009f71a44f5852d09
commit 2f3830544a89af2e72e7fd3d6ca44dd9cffec197
commit 3c1ea6a5f4f55d4e376675dda16945eb5d9bb4de
commit a8899b8728013c7b2456f0bfa20e5fea85ee0fd1
commit 12b8b046e4c9de40fa59b6f067d6826f4e688f68
commit 8c115864501fc09932cdfec53d9ec1cde82b4a28
commit 04aa64375f48a5d430b5550d9271f8428883e550
commit 6f6cb1714365a07dbc66851879538df9f6969288
commit d3d6b1bf85aefe0ebc0624574b3bb62f0693914c
commit 9a8cc8cabc1e351614fd7f9e774757a5143b6fe8
commit c082fbd687ad70a92e0a8be486a7555a66f03079
commit bdaa78c6aa861f0e8c612a0b2272423d92f0071c
commit c290db013742e98fe5b64073bc2dd8c8a2ac9e4c
commit 24013314be6ee4ee456114a671e9fa3461323de8
commit 09bf649a74573cb596e211418a4f8008f265c5a9
commit 6e90293618ed476d6b11f82ce724efbb9e9a071b
commit bc21fe9a5844c5bc8f7ec319b11d2671a94eb867
commit aeffc8fb2174f017a10df114bc312f899904dc68
commit c4252650a8c4770b669398fe7270ed8c94fc0eba
Signed-off-by: Mika Penttilä <mpenttil@redhat.com>
2023-04-27 13:56:29 +00:00
|
|
|
int hdmi_audio_infoframe_check(const struct hdmi_audio_infoframe *frame);
|
|
|
|
|
|
|
|
struct dp_sdp;
|
|
|
|
ssize_t
|
|
|
|
hdmi_audio_infoframe_pack_for_dp(const struct hdmi_audio_infoframe *frame,
|
|
|
|
struct dp_sdp *sdp, u8 dp_version);
|
2012-11-21 14:29:29 +00:00
|
|
|
|
2013-08-19 15:58:58 +00:00
|
|
|
enum hdmi_3d_structure {
|
|
|
|
HDMI_3D_STRUCTURE_INVALID = -1,
|
|
|
|
HDMI_3D_STRUCTURE_FRAME_PACKING = 0,
|
|
|
|
HDMI_3D_STRUCTURE_FIELD_ALTERNATIVE,
|
|
|
|
HDMI_3D_STRUCTURE_LINE_ALTERNATIVE,
|
|
|
|
HDMI_3D_STRUCTURE_SIDE_BY_SIDE_FULL,
|
|
|
|
HDMI_3D_STRUCTURE_L_DEPTH,
|
|
|
|
HDMI_3D_STRUCTURE_L_DEPTH_GFX_GFX_DEPTH,
|
|
|
|
HDMI_3D_STRUCTURE_TOP_AND_BOTTOM,
|
|
|
|
HDMI_3D_STRUCTURE_SIDE_BY_SIDE_HALF = 8,
|
|
|
|
};
|
|
|
|
|
2013-08-19 15:59:02 +00:00
|
|
|
|
|
|
|
struct hdmi_vendor_infoframe {
|
2013-08-19 15:58:58 +00:00
|
|
|
enum hdmi_infoframe_type type;
|
|
|
|
unsigned char version;
|
|
|
|
unsigned char length;
|
2013-08-19 15:59:01 +00:00
|
|
|
unsigned int oui;
|
2013-08-19 15:58:58 +00:00
|
|
|
u8 vic;
|
|
|
|
enum hdmi_3d_structure s3d_struct;
|
|
|
|
unsigned int s3d_ext_data;
|
|
|
|
};
|
|
|
|
|
2019-05-16 14:10:06 +00:00
|
|
|
/* HDR Metadata as per 861.G spec */
|
|
|
|
struct hdr_static_metadata {
|
|
|
|
__u8 eotf;
|
|
|
|
__u8 metadata_type;
|
|
|
|
__u16 max_cll;
|
|
|
|
__u16 max_fall;
|
|
|
|
__u16 min_cll;
|
|
|
|
};
|
|
|
|
|
2019-06-04 11:17:02 +00:00
|
|
|
/**
|
|
|
|
* struct hdr_sink_metadata - HDR sink metadata
|
|
|
|
*
|
|
|
|
* Metadata Information read from Sink's EDID
|
|
|
|
*/
|
2019-05-16 14:10:06 +00:00
|
|
|
struct hdr_sink_metadata {
|
2019-06-04 11:17:02 +00:00
|
|
|
/**
|
|
|
|
* @metadata_type: Static_Metadata_Descriptor_ID.
|
|
|
|
*/
|
2019-05-16 14:10:06 +00:00
|
|
|
__u32 metadata_type;
|
2019-06-04 11:17:02 +00:00
|
|
|
/**
|
|
|
|
* @hdmi_type1: HDR Metadata Infoframe.
|
|
|
|
*/
|
2019-05-16 14:10:06 +00:00
|
|
|
union {
|
|
|
|
struct hdr_static_metadata hdmi_type1;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2013-08-19 15:59:02 +00:00
|
|
|
int hdmi_vendor_infoframe_init(struct hdmi_vendor_infoframe *frame);
|
|
|
|
ssize_t hdmi_vendor_infoframe_pack(struct hdmi_vendor_infoframe *frame,
|
|
|
|
void *buffer, size_t size);
|
2018-09-21 14:33:32 +00:00
|
|
|
ssize_t hdmi_vendor_infoframe_pack_only(const struct hdmi_vendor_infoframe *frame,
|
|
|
|
void *buffer, size_t size);
|
|
|
|
int hdmi_vendor_infoframe_check(struct hdmi_vendor_infoframe *frame);
|
2013-08-19 15:58:58 +00:00
|
|
|
|
2013-08-19 15:59:02 +00:00
|
|
|
union hdmi_vendor_any_infoframe {
|
2013-08-19 15:59:01 +00:00
|
|
|
struct {
|
|
|
|
enum hdmi_infoframe_type type;
|
|
|
|
unsigned char version;
|
|
|
|
unsigned char length;
|
|
|
|
unsigned int oui;
|
|
|
|
} any;
|
2013-08-19 15:59:02 +00:00
|
|
|
struct hdmi_vendor_infoframe hdmi;
|
2013-08-19 15:59:01 +00:00
|
|
|
};
|
|
|
|
|
2014-01-22 17:26:16 +00:00
|
|
|
/**
|
|
|
|
* union hdmi_infoframe - overall union of all abstract infoframe representations
|
|
|
|
* @any: generic infoframe
|
|
|
|
* @avi: avi infoframe
|
|
|
|
* @spd: spd infoframe
|
|
|
|
* @vendor: union of all vendor infoframes
|
|
|
|
* @audio: audio infoframe
|
2019-06-04 11:17:02 +00:00
|
|
|
* @drm: Dynamic Range and Mastering infoframe
|
2014-01-22 17:26:16 +00:00
|
|
|
*
|
|
|
|
* This is used by the generic pack function. This works since all infoframes
|
|
|
|
* have the same header which also indicates which type of infoframe should be
|
|
|
|
* packed.
|
|
|
|
*/
|
2013-08-06 19:32:14 +00:00
|
|
|
union hdmi_infoframe {
|
|
|
|
struct hdmi_any_infoframe any;
|
|
|
|
struct hdmi_avi_infoframe avi;
|
|
|
|
struct hdmi_spd_infoframe spd;
|
2013-08-19 15:59:02 +00:00
|
|
|
union hdmi_vendor_any_infoframe vendor;
|
2013-08-06 19:32:14 +00:00
|
|
|
struct hdmi_audio_infoframe audio;
|
2019-05-16 14:10:09 +00:00
|
|
|
struct hdmi_drm_infoframe drm;
|
2013-08-06 19:32:14 +00:00
|
|
|
};
|
|
|
|
|
2018-09-21 14:33:32 +00:00
|
|
|
ssize_t hdmi_infoframe_pack(union hdmi_infoframe *frame, void *buffer,
|
|
|
|
size_t size);
|
|
|
|
ssize_t hdmi_infoframe_pack_only(const union hdmi_infoframe *frame,
|
|
|
|
void *buffer, size_t size);
|
2018-09-20 18:51:28 +00:00
|
|
|
int hdmi_infoframe_unpack(union hdmi_infoframe *frame,
|
2018-09-20 18:51:29 +00:00
|
|
|
const void *buffer, size_t size);
|
2014-12-19 12:14:21 +00:00
|
|
|
void hdmi_infoframe_log(const char *level, struct device *dev,
|
2018-09-20 18:51:30 +00:00
|
|
|
const union hdmi_infoframe *frame);
|
2013-08-06 19:32:14 +00:00
|
|
|
|
2012-11-21 14:29:29 +00:00
|
|
|
#endif /* _DRM_HDMI_H */
|