admin
2019-03-12 7304efcfd941a78eb5a653e9f27297e1a8b01955
添加每晚8点推送旧版本IOS
2个文件已添加
701 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/job/PushJob.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/resource/certificate/devicetoken.txt 649 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/PushJob.java
New file
@@ -0,0 +1,52 @@
package com.yeshi.fanli.job;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.factory.IOSPushFactory;
import com.yeshi.fanli.util.push.IOSPushUtil;
import net.sf.json.JSONObject;
@Component
public class PushJob {
    /**
     * 推送老版本IOS(每晚8点推送)
     */
    @Scheduled(cron = "0 0 20 * * ? ")
    public void pushOldIOS() {
        if (!Constant.IS_TASK)
            return;
        Scanner scanner = new Scanner(
                this.getClass().getClassLoader().getResourceAsStream("certificate/devicetoken.txt"));
        List<String> deviceList = new ArrayList<>();
        while (scanner.hasNext()) {
            deviceList.add(scanner.next().trim());
        }
        // 每次推送50条数据
        InputStream cer = null;
        int p = deviceList.size() / 50 + 1;
        JSONObject json = IOSPushFactory.createURLPush("https://0x9.me/TusaI", "返利券苹果端进行了重大更新!请立即升级",
                "更多优惠券,更高返利,尽在新版苹果端返利券!");
        for (int i = 0; i < p; i++) {
            cer = this.getClass().getClassLoader().getResourceAsStream("certificate/老版本-生产证书.p12");
            try {
                IOSPushUtil.pushIOS(
                        deviceList.subList(i * 50,
                                (i * 50 + 50) > deviceList.size() ? deviceList.size() : (i * 50 + 50)),
                        json, cer, "123");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
fanli/src/main/resource/certificate/devicetoken.txt
New file
@@ -0,0 +1,649 @@
5c6fe3b70064e8bede41599901041032a42e5bb63a709884e321cafee250ea21
8cae2ccd95190dbd9507cd76532067fa0c918910b56be23482d1dcd0749572eb
a3bea5d097f2af7a6de84dc8acef59dc5c88d91f893fa0aa4fed6f736f4859d5
85424d1f8ebe0a70447b6abaa39ac755acd85e07fa816d78be4b53c7035e7e17
8c24922915c268f618d1a2592c22caa34fc1fec077f8b801b56bcfeab4d820fa
24cd384c5e19482790091e43d551a91f6e55e74df751a014851b5de979c160aa
a0d778474b9a259d863755af72ef178430f7531d299d5088ae968f6f1f29e134
2ac77db6174d9efefaff65a7bf1d3bfc6c18d588fa9eacb2b8fd894f477d7cdd
0423382744b9fa30c31eb5e9180521acb7ec016cdddba1340a658a87d2e28943
c516745afdd779d71ab40d6e8a71f9c312740dc4c2e0f2d970f3ae6a4a20fa39
91fb1a5056e416244d82514b788e6d3ef2a5edb3f74eb276e5d53136c9d80e0f
c9cdab3b944bc16ffae99cb9829303a44878018154a7ec07568defe382f68188
dae2d474a8358788c17b42b97b0f60fd3433d06f21648acb51987948aa0b1641
0b2b64732728c964b22433f359262aea5aecd4396b40cc6b2556ecf778245f44
3db8a9529ab15a15cae2c6a67ff78c8441b48a20bbb5dc02ac376dcb220d1169
c7e25aa08c6c7fdd4a2053f25db22bb351849114000eb0cb6d55357e5b403837
870a2ab922f227dfd7787e8700906128d0a2ae927ceb6ee0bc2f9affb22eaab4
b2a1105ffe88310008108307863266eac5cfddb3eeba154e77192d22c1c8c654
5763bab4e1f51a972c937e0b04790491150d05fcc50eca6c5626f37faf7c048f
07b9b4264ff8bc747ab59afd112cc04d09add98a76c5c205d65de4954a9a1edb
e290df0f84e784e5ea07b8d4a0d5a0ed6589040491ff3643ef42f35a0f0c752a
6ff026fc704b19a3d399959e6859e1150a3d83a1783482076317b3d4faaa36b4
82af74fa0e1f1632bfcd9659681ad827a7fd9a2eba2fe318b1aa8e87e724d6ae
a03fb1c1d59c3d7c869816a414433dc0b00361376c6eb598e39e99199ca25b88
e4629d9b945920c554f899c9167f61a0c1e4dd6c2188361dc49c79cf919f90fc
b3ea0838a3b248cc1dd5ccc14438a7d21441615a1f2090ce12ab979e4fb3969f
2ad4242bae8ff5b9217680513e04a7e106f8133ae7501c55e59242d2ceb359eb
69eb0f0855559a7734b1b659bf54bfd6d3bfe907cf32c205d6ff97fba95fbb9e
b0340e4bcc1be190b6c5213a323b3d1b52b1eeeceeb9ea1b59db9dc0726f33fd
1f7814187e6b0fea2833bb496eb8b5695c3c1b323ce7b558c7fb21ef6110ab66
3fb1fb8e4d40dcdb1157170c351c28fcf4d991e737936740b12e5ed6253d705b
0ba471dba8ddb7cafa722b85c152166f63ea80072584cf52ba25de1178a0e103
b3b877b73ee257f774e5ccf2ecacca4605999372452a44054203d2126475bd63
8cf1a4bf113b840ba1e7967cbe115e2aee9038a6dd31dc6cc0533aa5ca815c01
9b71d46d45f6ca18c96c1fe260070cea7bff7ca50a6505d5ab807f17c8dceb8d
206a43c8c94595a294b3b1f32c0418a839e9f2ce2915a5a47895380d6d023184
447ea8d521920145de34fb8a530e66d48c3e42b41bb438f589cd4663c131bf62
57a4395914f85d0c233d13c0cd6332ec356dbc63ce82e420206a94fd2f7f4634
bac8db346720008136193bbf64b793b0958809c5b29bd3142ecff7d347a28052
c07f21763ae89dbc66a85d9b55304a0a0e4a9ed94dedf457ea4be5bdedac53ab
fdb528044bd5f45be392d89add25138a73a7eec6f7d88e421436c087c43d7b18
53f97a75bf86b013cc84160416a939450d44bbc27d67715448a5f9abe74c212d
f0756bbcdde59b98a59492bd138d3a8f379ce598fbe6a8235fc37419affabc40
ac11d486a851a2f40411d4c0378a6eaa4a507d432f6d6d62a008211427d8c6b8
653679d4a314376a9e02f3c039dee0462281273eed2b3b790240117cdbdf4c59
2c76ad1a2c3026dcaaddaf46206e2eccf7ca5ae7df7d4fedcd79b2609900cb33
c942f703b04cfdab7f86aae52b6f573c5caea2dee093cce79aebea02bf6c93fa
273a398bd97312fb5755f947e9a40d2ee635bb5810f88d1ae0b61d6bc6778d63
e9a93667eed4f05adab765af3f08cae99df3dbac4ccd98960f656caba600f9bc
2a6e065d9c5393279be153c1c144d20e1c3efe9489a7337213929d3bd000dd7c
b79e2edb79b0ad73871b6b86795517afc2886e975501421549eb7da6104da854
f1b8529aadd10d05829704d208acad349ff5b2cae51c318149f3e5675b561244
276ea761293aa488b7a9fadfe767927a566b8c9fed134bd262313613d614f72f
697b636955030d2782a462ef3dacf606857c9cb9f0c0abdde0c13be6a1058f5e
3b16a123dc2b43529eb63acd13e201af180c5a7b6aa9bccc7c7e0c6db7ec35aa
277de39ae7748fc7a7ffad227a0ec9bb11839e2ed9e1440bd84975d80280fdef
ffe43d659f1263e2d6d9c2e1595149911487e6eeac50d22b453eabb5e467d44c
b7b510ae4690282143075c1d0bcb260bf2463b8f1af0421dba61bacf240ee7d7
7d44c949d28299840c09904b613a349fdff745bc5d8816630919af5c414db2f2
40062c7bbcd196f4431b494a5017dc2de2b540fb5f4e7b542d12a728fce8ef03
123a9700b6441b90c04c532e592d549371498c89e8cf57f6bc8584b012ea1107
900553f5d7e517d41f7d0c6647f5acff29dd3541c9f682ba22081368d47e8251
b167e4f6cb410296ddfc9725ef990dd6755984adfd0285ede54a7e3a80cf2282
90938fc300d1e502eafbbeadea695e47542bdae2f0342f9cd04c8222edbb8978
177c1dfadb9f2bdae84d20bfe4de0163513cbc1719cb97149f756138cd42f7b1
6e1a3e54075cce793302ee9d760bbd172ab0f869ec7196cf7f11c0c3af32fdb1
6438172f1da77b38a214e3a88d90907b9d8ec8960ec56744cc5d61bb9ae71966
31b127377cf21f287e97de202c4871b6bbd987f607b40d54302b2bc40c4216f7
ab138f6a05041285b12708ecb8daaf86570b4b7e686c85614d5620556f6f5916
71f5ca6a19cfbf53414a5bc188ca3c620dfb3f616faad3e4c475fcc60bc1a088
3b661bd3a87b744d589f770189a419ff4ef700f750009ab10fc8bed6a1a32684
6d2daaf98b22400bb87fc3c2acf5e59d6978601558920a1448731fa85747c969
3e407de784dd8d06648dd3075621627295bdf2549531ea73b2c47ca894fe1c63
faac9937dc8540ba80b3f283d26eb7be6c44d062f82f005b8f59ec7a1847a52b
705fc7462be4ac0991a3462edc8f4246208cecf8d320fd159eb76a748e8f3b9d
6f953a8f1e5552f886e9458e972dff05198e8c5e7035f80119a5d9db1cdce637
3cc54844485496e58647a678d7042f3179e67bd787e7147babc541a5713bba10
ec4230eb7b2051b38f893ba8ccb607c6dda876397443a9cc006aef4d82bee279
2b7608be8f668b0f00216bebbe8972ae422d1383123c2871b297df8862d69467
30fe0735ea58d01ba53ff94f0acd8cda5b40cdb068f15c5b533b7a58636ce55c
da68279f4bc9faceed496b83f69eb8b6f9a28ee799249e7fed3d543a75c1a051
60fcb4a932a3edb713309c25b7ae9cffe0f2809384dfc0fb7d5f7eeccace159e
e904cfc873251ffae10777e077cde779538e57bd3529547ea2522d12c61b9088
4e71b8158533ba8e2e8a589e24e86c015a92bc2484d17f747d5ad8425c892b9c
23b7d49568b78eb46dddfb693ee8f389053226551c48971a6d891b21ff7f18ab
c6223b97d19e07ab2d12bbd4e23a3d57e207d1f51e258d471aca671b298b43b6
92f69f25c4560659061b47f6230931c01f65c65807e26a78bf3eaef8643b27eb
33d94d0c623988cd2a1a0a5a866febd27b2a1d5e9e2989b70f618639fa854829
31dc387e30abe1ff0a0ffbb93296626c00c1efcebbc45e6080bb5653e4b33c36
b4c35e730a771dd73644579f5c5a24b52aebbbd4a49a718a25d0cd295527da52
723752acd176c3118f7deab4eff4cfb685198170d2176458195f777ac6648e0c
2599c5f6e99e5602fcc11a8b46ac933bf99b057bdb491dc702847ef5551a0dfe
9ed270f1430bbc93cc2ecc38ccba7dedc12a550d84cbf350e0307ca91a167d41
e9958f41c0c5f5539db03c13ece0a3d29b17c749bd476e62a6f9715d70b702a0
0ec0561ef381146126c248421ff3345e13cc2d15538fe650045ada91899f24f4
bfe0a3b422a64411212c078821284e9b85d950f54af404f11a86686618aad148
14c965fa0544bfbc32a885bf64cf89d8c7a6e480b383531604cc537b6d68fe36
6cdcf3810a8c894c76669e51c6a60fa3e3512bd40570336c093b5c516ac9f13f
3293929c95ed142be1d9909caed5453e928b0c9478f7e72751f5cae32eabd4cc
d8ceae7f9fdf8865b233b15cebf17916a0b1c83d7ffbe52b4fb732dd28f245fc
98918087ebce72b1597285b5e55742b57edeee3eacf2bf1e9117591076f5bcff
fd938f9a7416c8a8a6c80b861c6244ebcbdff5ab93c6686cbd007094eff1f71e
7f0fae3ae22382652b8cc3e99c8a900f6d71b35f038c79571fe5725fd42b843a
9a60042c3e806d1ddec404a27a9b6bd5dd968bf3dae8de3022f733629be432e6
d7157b64e683e78348511c91d410d9931f2b8525fc3c70cc6e3882b1cf6bcc02
c455cdf1418b4f0a2822455d8befa007ca4bf031e14cab7393d3e7fbb5d335d8
076d964956f017ee4c3f205876d040d06295041246400975fd1aabf1c64ae3d8
09e94c9eb67ca475fb6d1e6663f2c5b2759e94b51c3a19469f21831dd0acc347
863bd85c774df14acd770d975a3355e9df224ab9634936da5dfa5eae0e43acea
42093df3261a70c769275b5bffdb233e8a52fff7267ddb00ed3bff3652c890df
d99c274f5c296c06322f364bca8e6e39efc0fda783f08a5ba061f85dac55d50b
cd5c5e749986bcfeb3908122a57eca9bb3066c420f598972c14acc44350d215a
04933d314fa524b11fd815ae54205a105e46843ce0f39789161de6f88b913829
18327118d638e113b8e5d7d985add8bbe486a8c692e4aa1a0a5f02cc049d4460
e808cb135642c335b35f2ac117c19dbebe748d3135b858e745f90865ce07f918
bde8079b780d079c04b6e8dde38052d4405fd5d98e60ff46bd079ed1abe459f5
aa1175068aa5ae36d928d89a08dc06e880dd0647a2f6ae77e40d24fd33597dfa
d0f65eee84b3eaeef4b8ba7786c3eb77421701828855cbdfe329b5912ecf2a4c
91364949ac128439c564376c8f7b8534b27eced19507b8a5e6746318c46d96a5
7bc47bfa8f0749aa0df53069c05e62110ab734caecd67a4f1627f43e081dab40
96062f70e06812f9c2e2bc6a41d42a243cc2d8ea47a4c913024178568ea3c08e
495427d372ad2ca6a0f4e91b52a9b3d0c9aa75945338805934866af13ef790c5
c3c7d98eb3253d5942585a9c7c2fc6619f53e86610c49adb377485dfd6d01169
a10dedfb55ff5a45e10b3be6ce06ed0a60a0295337836f39a93e60d64f98dc2d
baaa8f2a464f403c12db955836f257ac2f46fee66b6e868c975dd9d69ebdf104
f56d6bc8caf5588f18f5e7b88cefef98607b6083c88d8c3db299732c69f5dcdc
811199e7bfba0025b275b1dedd0d11b84e548153dacf56725cfff24a543f2eb3
d29ae3cddbe7120153d0be656e14dbd315dfb7993928b3e47f36f0bc5e9c89a9
5ca7ad8b3c12bb2e8d2b564cdc7032f1efcbab8ef9df3f27f2a2bdf660a35827
6ccd48e62866215a4054adcb3c93ac2eecaba816252bf21ae76a574a1066f9f4
d3ac9a5074251f43ff0eafec6a98e686b6907e6066f91619443fcd868b83df82
4710e548d5dbb5865459d5376b63a810c5b4021b18d5ad02cf999088c10d57ac
d534f23c9d7bf5458b2e540372463c1b036dc74909f21eaa2331f6979b56eeea
678d9a34c6aa3aa55010e8c8bd309de3f1e385128c46ed5465ed9726ac1b1a83
d6a35a465062f05680d6486abafdc3204a947f7753c4cdd4ae5ee7cf0ed2b801
d19ca3919a6db93b555d7a217362574c4bb298698494e942e14f2e1dfd19a2b8
5b2b350903ccf617830d78d3be02baf351b772f99ffc638c0744701ff8995d86
472a39cd992c457f28787b2aa9d2f263b2a7c5ef823834338f34a6d45dd161c0
ccc695fdf6ed362dbf70291e69ddcae6515dc35be5d5ac3f8d34311c4bcf4714
c6b40279eddeea4a23f0bc89bb0981d07e90c3d545099e1908c618f833befc69
fb36762bfbb0a055f795c22a722cb767e7bd5d3de09310fa0aea3dbba94f1a68
21a5a30002bc2515896dbf2c579795d53d27b9a51fbf0d6b6e00a6fef7b32d04
361d52b2b92ce885694851df75cc8a0b2b22d7b21b1113a24730c32643c58f0a
ee01777def0316c06b5cdda122e2567aea837c9542978e0918ff7d42d30d4dc4
76ab4bd13a0f0381d43c950d018e4868ba5bfeadc58355ac06d7c94613ca380b
f6c8d5832832021d97304193133f2643be53f6e8242eef51219994d8ba876e93
447b828860a6f25bb8a5712b48518877d2829b77abbea84c4e93a0eb1d4a2747
986c41a33dc1679732116c67347abf63e3efc30af8f5261509a833a9f71d246d
ec783dfc8b18cadc02357f0bf2d42775038e3bf6cb25d1bae291c77395fb36d6
009468c359729f9986ddf17c2a6a94fe1351be1d6f7e8d343b531d36ef63254f
e95b9406c22c4bb461e4723f6a0ab82db4572039c1a7f94819f034655f81c192
9235212934b2ba54cc655f956a2129bb03ad942e62518f632ffd1e38ce90a3fb
27144a7714cf662ffedd8ced402fce0764f076abfc3d5d57fdc0295491b4013a
2f1cc95e7f089fff1d63a429ca167852de76052fb08d71509b72da86cc0a8c12
6fdcb5b6ea834be33a844e886f336dd0eb08b2296b1674b604b25c27ab98feb0
56bf1166094bda431d585550312b52d643d4a371b23a176abf52b497ac5d165c
2f35f88148418892ee16f74709e8edae6c53d009ae0d58518c38e773e625e949
6f631accb42f52da59b691dc4166328645b9ec1d5d1301505259b4c447a9e6bd
c42e0083a8829282b5b421453a2626290f71d24e85120be1e19f6369d8297d19
15b6664cb2be686852440dd57471206cfbe9e57c180084197174668a07d0b14a
730ead898e95db7ffd98a13c4d304aa31b7c8bd57f0be5eaedbab66d79aea775
0583c775adb7e19819f8057ee011070058c8b3d602d6a4fdda106defc8a3e01f
c1c9d0db6b3e8aeed49e18b8754d9c5e8039116891d1b3958844a768b82a2566
3e32ecf0917d81b878c04979e63415baae93cb0fab0a503eb8bd514c14c1fc74
e5bc2b5d440f124082692758ffba8f93eee8f489d235e69d11ef3255b95bc575
f15df2d846d6c509aef6a611f06b73a9e038d0b252c0b6c7c20908ea2a6a1f40
952c290a2ecaebfd2d6251f80000589e7fb3b087a68ab1dfcc22118984547641
6f7c768d5db44f1827ecfb9404266956f47f985821e77ec8e77b88e14d098b0d
b7921f100b20fa6601d2bd49f7ebad6daf0e4528f2b827e358b6f75af5135c02
ac092609fac3c3ecdaebde95563845131b32173cb7ffaadd6bed322d952da90f
f0b8e933fb5ffb58fa010500b77d0613fa7535fe5b708f1c866a892989c272c5
2b202b2045630e41daac5a49ac248f243f8b4b92622fcad1cd0e3226822467e2
b8cd8ea48015c2cf8dcbcd97ed60d6816629e0c30416aeeebbe1e5a0feba266b
b5ef9466e54a76e21b2b88cafebac6b6b7e6e5bdd3ac844d2d4386fe596c5cd2
f2337703219e530c2beee76a9761c81091e75d9f571985c59e3a23880110c8fb
02f013df9eda4454e01a62e9aa8ef18678d63eb3db94e55b4f7b8049efc409b7
96e6f44973a2a34c26c186af70a9ada22a0f3ed67235c5fb1fb38419cbe85c30
d4b4b37b3ec6b4e813212469b6202f0a9267250fb2ff5b061fc8ed83c2bc3e9f
a1d5655ea9d50d8815817636515527c4f87cc7eae3b6f55beae323be39ee585b
444cc497fcf75aab1766231bcffe60cce9faaba57666836e654493ef2c46beaa
4e5f0f503d374e5f959233b35505c150e0c0faa67670c3a7c0aef75710947a3d
be12450d094e1a5ee5db4080b80a3dc5471cfb753a29d39e792878c43ea5ca1f
f3490027dff2ee14d0f120340135ea7f554e413df297c769df3f43502c752419
f47156ef62841ef47bcb6f36bdb332fa3ed016d1fd1035ce0211600e5241446b
570468102736cd36d942bd5f5a256cfce604a844a2959c97de303e3a86b2d6b8
11c36b53d3a18e9779c979ff8ac12a094090c3deec798724cf73a6f98d7ebe0c
e9786b584d5b0ca5abd2de12ea61af4a36c57780b81c332c650f61a94375e7cc
e51983ed63edfc1827d1215a0851a75c9727a927eb26bf20786808c9f557bfd8
187336c7c5476e1a1d42567eb0773dbd697a0ed152eff366ec93f0fc1bb64f29
a68c911e7f1c79e6b7c58b165d121205b6302f17c93137e7878ed975ec86d752
3e1f97341e5f20572ec02648091aea85151a30c9086bcdd49c3dd753d1b3becf
3499ac835847fe6941ead017ff28f245776cf15b2f9fd1f5f44c7324ae3b9d33
c6f00416c3578f8ead769900d814cb6f1c8b5eb9577a2b67932df1169ecc6d98
0930a0923083784ade95fd4a1b13088afbecb1d9e8be96a6e4d94156cbedf423
ed1d80368bb8fffe9c1a8725b55874f083cdd0b12387b47b5b83fb1fbc07a0c0
5292e4bf09c5a49f23b7a329ccc5a9378beafa598ef32b2c4e9b1953577f0260
8ee5da4bc64ff04e183c99e062ea666bf20ab55e813232fe6a6d51602467c63f
c6be26b4bbec7b7c37921e269674f9b0d43dcd8f98aa8cb67a8b09418781618d
c907c1067a419c533e194153afd4a120f9a18cd94fb61a28ac09389fda386b84
4e56bb1f2b76dc562820a984dab68c34817198ded75afe27eace0d3738fd0b43
9bf2d630f356e6b5aacd4baaa42ddc912e76634c30d2623a934ee3f20dc92290
d3763b5bc2a5d36272804e8069a1a91460424f05cb24c393e9baa3809e132bea
c6bd5c5195503007cc3cab16b65e181e9b0e740a526687e2af09ff988bdbb247
764aacb9ab279034442c8a165133bdaf09eb73315f3b372fb6a245e2342541bd
67a4b495466dd319fe252d1bd8fdb289b208ff9f6db6ceddad2d5b8b4ef66c95
99b48c8c7d76d0da27b1a1a1950b10f50d8fc272185b4e0666b47dedbcea6b79
63fafd6a55093d42852897655a67ed631368014a6d6f9c4f52eca915ede7965e
1ddf03b95e87b2ef58e17878101ff9595cafa430a016a0150378391b37f01d89
5d526838827f4fefa1777d0da1c2c43cb13fc4e8e60971bdbab6c9b26673620c
dff9b1e889a2c2d81781cf031dd4d06cde242f0fbc6899e84e919ca8fbf08bb9
c942c6ff83f58c188f7141aaa5002803a2a94267c9bb5e081372fa1f4497265d
8483bd90a16f53899eb8b46a82ebde81414c93e681528a51ddccb4a2e4e0c103
c66c96e6e6eb0729bd56e26e74bfea92973f52c22e525a77a634411860c43b37
096b80796ed33956cff8a3f660350eebf34966b0179a1c99baf7ff63498833ed
d20d72b39c01a73d08c997c6e92f32191c557e885ad2e939873ea29c855d232c
b5a04f45a4db3148bb3ff571420c5a95e143b56a820e36417329c8f8e4f9a3c3
c05b020584b2808990b6d092a8f6e5df5d71e4878d8ef668fc4d475c2831ecac
f9fcace8ef34dd431478ce8a8d9fac519e26583e7b2226da6064caa22b2f9f75
ee607cca3dc834b9d4e385da4e31ccc9d1e05b55a1110d90547e86f543a7156d
94a9a9dd67207882da54205f4c8572ba421d70f800cf01eda167790652aea801
8866ea96d1c7885653b3f58b2950355bbb9de2deed44301d3a0e1daa7ef3d2cc
481d1a4ae6e82e708a46a6717a337f7c37ef9a39e429cff81efa3327c138fc56
06e2eba8bf6c1adfec91f615676cfdc26d3f32a520a70f9c37f62f353419a9f1
bac3b5a75a13250c6ab5d814a46eb593b0c497a304bdd99ec0aa92a1110936ad
da90ac30f768e141a2dba113214b873bcfd8874e2233fc255ddbd1becc602665
f37b4889fde7244cda04bdef79d9401a1acf0efd38d9874ecd21300cd6cf80bc
1eed147f4362b5a16509bc16b534739bd809645b7e6b8fe46ab3b76f6dd6594f
9cf0d3e8ecd14dbadd2f87390794c703f2460f484cdaf31b57e17a0bf83d0327
c18d5951107d4160aaa2e42e93902b5837594c8253c95eef965dbb7fdb84200f
59b322ea3a28bf7029019f5263b0d7c0c1781d34558d5778bb1ee908abf4d8ee
dddec97b6738ae33765fbf736f0441401468049a7cdd4398915fd249c050ce32
b0552441d907d4e69350385602033cde6622429dce187a87b3e48538ab09fb48
13aba1fe12c082d4b78163423ce4622875ff65b1bd80921e5def8d6fa21c55eb
c08085ae2d19e3bbc20d5e3f1ee7db4e520d7407340d589a803cc5e56d3ede69
34fa71faa2b9203a12c79ddc2ac2f34ef35a1c51c56e8dbdaec7c60492d19bfb
66b5c4eefddb4dbea7a67115889fd40660fe4079242144945c71dd1a991e7d1b
2281ce7ac14f4d860eb7dcc8907ba315910d296fde05d73db9ccae7ea1cf53ac
b03cfc3bb85b8b3127efa495801c382aa36bc05d1fa44ed590b890e8385a9ba8
d305d5d2faec9f8ec7b3537a0745007c9bacf72fc5c68f0395e4fe0c83da9ccd
7fbe68694a2da00a696e420f133cce20ff9e6106ad715f36eedad3beea7f7524
1ac385f7d9bc63c8a8f59cdaeed37f485335123f581540da6d28025b7ef4b8ee
0420798ef0b8e6fc2dd66e7a330ee9f97c60fc89990188e700e34dc8a7bc052d
05bb8f691e3fc33361d02436d951b4e8dd4b884e3f45c4f318f2628b505fb1bd
4dd4b2e89c236a689aed4c62e5bcba256de5849ffc1936480b987291823a7a10
d705e48afa3cb779d3f0279bca444fb2d1a8a069993659899ce6437fc14e2199
dcfc3d7793d1a444850560501b4ba4bb751e7c1689917de9240972d1ad596a45
591bc05c47b7cfe13a646552f9e869364ca3e2282fbd6cb6c8cd476e52655f12
6060795a4b061d2c035f01f279e9c33650f067e97ce8a55151d4bfaedc4cabf0
398aa235bd42b9079989d111de24c3dfdec6a25ac5fb939c2467e42c68ebd1d0
450c14e1a90f9159fd529808fb8620544e2e3a0d37cf06a0434dbd13884ed203
7713ac6d92f422b36b7c381b8e9875e4ae6b8ff79b4174ab5bf289d2de4d0157
a88d0855fd5e1643573e0e890aa64640ca49395bd46fbacbb80c5f9190bad035
d980fcd6986ccf5b7e4dd69e83b4c2eaf1b934f38a2f90ff9ea0e22c8a470b79
9f07b8829ca40d4c0091f4f3414856becbc08e794aaae0ea1174965f253694cb
018934466d11271349c9eb48fb62fe7c688d0a8a031539c1fdea782e3e72b657
180a96072e35a696f03839a675cfe0b0aa6271d109d92fc9d0b2dbadbfe87767
cfe09fa6c16c037f8a66b28c0ddf6d5c2a2df318c1e623a249a31b2e27a080e0
a41393debc94d221d69ba23ec8d5f5ab981289df18855fe0f1e7b107fb8c52ef
15dba81b566f3df4ed7645ffbfa1ad98585faf600b01b5c7454ebd36401e517f
a457b07ab89a99f845ae3501b733509dc26ebc62ca3cd9ea4d673766dfa1c265
6107794f090e0d9797aed357a74208651d1b1650da15a7ab5f5742ae2808db2d
2146cee861796e20b93b258b0f6d88219e2aa477244fad6d37262172e8224611
39db558782883c7df700adc1fd05cfdf74cafc68b9cad7642dcd074f48b13a4a
55734c4e2fff4b2117e6a37272f444d992ac66d0fe4d76dfcd595fe9a23f3271
fe2b94c0ceaac7da60d84e5ab9fbcaf5e8de02a81e2398d9d5e0eea81577b460
65ee49c8ee555aca176b32a27608ab38770a0fee8c7b6e5c44059598a769c003
fda3ae946651e02cd1ade3563f88e7923c48b7284bb63051d3f4aeb1ff453e36
1676440c1fb5ffb875557e32c344c85c249b06732d77ce15e7502b789c9fcc02
f6a7ab0e35d0c5291b047a72062f2b53009c69ecaa9e532adbe6d64e382b94de
1733655366ffc2e020f239eab54d64d62d8d2608b07de22e93a9204bfb02e91f
e01e6bc4b9b40fb518d9a00f15e6afbb341eb54a4b22e4d3acb83a3294ac4d6d
024df6a75418eb1ea085e21d75458e5927d3a200bc6d1ed8807b320be2549057
51dc91c66c97a3aac1d11bab17684532b839db73cdaeaac70761ec740554fcc8
2ab918ed0fe4a8791e81006c08035197a5fa94d8253a6f2aeb269e32d5211522
b4eee670223c95215d272c236c66904f6c36b45ced2be1b16be0ca8c5ace28c7
e49275e138335caba5ff7a07ceba2dcf1c7b504fe842a09f27647afaeaa3bbe7
af551d11acf03f6b80fa67d4be8f21d8df65284d688ca6989f817f0379f534c4
6475c35df794502222f96075659b179e9dabff69f66ab96104cc737bab2e0492
593b1d425630d830fdbadbd59a0984da7afb7bf7c6af60af509ed00ac36d13de
11f2453d32e82b2d936b970c05245068c4eab4dd76f208a5a3a2d512fe7edf6f
676f7b99e61c474c30045a5ec31f61b67e9f9920c7d3b16c462be5f6351011f1
c8cc7c99d9887ed6f96f5c752966a7cbbaa668a82ec7113466c3e32729bb3cdb
6ba1de6d384023319ae82e12648cfbb419bdaf262b29018a4c265eec940e82e6
dba2304cd43b9fae3a858bfab81c6d3b14b6a5b186b997656099a2c32b54fc2b
a6fe7db44055fc1e5e4a525adb3c8ddd714382ec6d7f5b849f3c05776d77be04
3d30dc0941f10983bed022a666c44cc8b54bab42647b2562ccebdf70b2bcc5ed
5079b00d47fae659b4ce907eff036d1dc9b36bd0cd97a215149af1acf1fb8eed
61d3b7ecff5454830164233560605a6682fb5fb840875c19cbc969b2116ba8ab
c3079b86cae11a820beecfee4f973c67952aec26bae18f10dc08e9a0b64ba1e2
daf31d62d24bc4753de4e6de4738ee80ac887b79dfce140e1484a2dbf68b3a15
bb313aa9923aff852783cd167a1577fff5f38ba96d7ddb079656c27a17dc217e
499ef4c5507a8a15631a75ead9a999897c688d9db289b83b41452a32748c9f8d
16c39febfac939f18b03b9102236e7abf380b48918c19e25e90dbad05a23fc1b
cc7c4737afd9a75fc9d304362f07ad8335259280bb451dc5d49b1fe2c84fd26d
8b28434fa3f86d37efb2902c40f69cb177e1e7765becd54d748992a9fcfbe92a
7f2a3fffdd2f2a29568816e406146fc5cbee78078968785350dbfa4543ce6e94
50623ab01a8811f9f52ef5157cd96748a2f3dd314e9563194a2fb385b27fc2d3
6da873100073695b5fc49b165a85299791e11161a2d3d792aa4a2b2642995298
d954ed4e28bc67b225388f5d52fb5c4d5b00e14ebda9246a4494e9470a8b29e5
4c531d10f5bbae66fa26811ca973b62f7d7321a83681613edf61000445ff2817
7863ee7b6b46e2eac706c85e8cb07d5ea2b265b50202234fd2cfe8668f3693f9
bb29d301e1c608ef67781601fd08b6e5d826b6c6ec4a0912c7c0c202190ea081
ddc68705563910725391c49d14b878dd6c4eb37c67c0a9e1863461b0163a26b4
8e3360d847bbd790e30d3198af8db2b0b7fef895efce55fdf39ce015e1b6b667
4d1db1e4a0936a5c29cc9c57a4214d0d9270062a0973da344b47c6a4b72a72fd
97f35943f624aa009c10cfef876a24aabeb8f74d2421cc87d8894e10032270e4
aefdf52d684ac5184100e0beff902f50c5035202906cf36a9a1b9959a33fbeb5
47bb6a3961397fc423e87ae774dc865aa9ed0748002bfeca54b64cdd32be28dd
d09f0d185b8b9bbbdc6844b33402005741df1db00f83649a95bc1b2e32527ae5
68dd2bea9dae1d337db199d7ae8171aaad053a859cd5ca1f1a39f10ae01e5c84
3d477845002fb6b3103b3f9e21145e25cd63843aaccf9cd1f376ff2be225f0c7
876e609bf06173ba79132e3b50b233915ada09abafb7ff7094330fd2d096b1e3
5f4ad26bc6de2e7d319b4c834cae2d68f6563715f750429d8187c3232680fdb0
0ea19a8bfc943ec64b44b699efc2bd21e097d7725803ac13573b354365f28d81
f624e7849c581b944e364f90b588164c86636c2bbc285e29a6dcc18302c8fbea
3b741608d0e835aee961f9e32fb14599a3b024e38786d3fce11b70c0dc083d3e
8fb30f67d6d70bac52007526f321d9adceee0ea991f429b43f7d3f4e7b9cc5da
ba597e96e1e5ead66266ee7f425ccc6de9ad853cfee7d6131be715a947eec757
dd9a024687bf5e8a4bea9f0804bb9e6f1de9f52ad027334ba88f1fd3ae2bc5f0
405ee6607ca12fa86ec6546c885f5ec538bc1d984875ac8499d7c97d9eaa53bd
c6c92ac0623f6805b5e2587e46326149d8ea9346a86f88908a7c78c4e552992c
b440355fcebabab155c641d6669f3c3a247dd1755fb4ad9788fe53c55485909a
11fa44adb58063de9ae2fcaee8608223d34ca492a38b6ff3bff3eb8bfa26603c
ea2da53217ac067125ba95082cade127e9ebee437c6244e5aec29ca6dac92636
d0c274ac3c66b2d2d50a41db3682cb7c90aeceb3ca219ab60adc9fd7ae684793
1b053a677fd99ee43171818b5533dd8014778e9e9b27766c3fa2b18fc475be08
d7f8d4ba2af44513e774824ae9f2d5560784d9d162d3ca20ecd84abb773f8199
a52cb3aed960b7c9edce8d4ae3bba85ede4d51c06e8b784993e689f81763ef2d
bf6d00be42df69834e3cf84291c4ab10761f081eeab8aea96018e0c8c0296822
e6fa2f8be87d162b490609518f79f84ef6415289b0f64f594625a3755fb619b7
6b155bd123331f6c7a12cd2fb878ce4152fe6b0cffd2f73342ea6e7300b9069d
f6ad742eac01a491c2578b6d963c29fc6c5ea52bc91a6bd04394d2548aae9152
c9eb14a717fae7d77df068fc419f1c55f2e236fe3034067ef6bedb2554265fc5
6574d3db0d863c4a4415099ba166188a3231c1be14566af9bd45c627aec56e81
f19f664591fa30e04507cdee9b24fcff2540e24ea38e3d8cc5b920a7102e4ea5
49162ae5c6b310e981cf8b49e017b5bdd1a36ca1d3706a43318d42fdde239295
bba2fb75a00bf1c257a68d5e082e1f7eb82ea601ec3a20ee7a9c287e4e81c1f5
43462403abb3a1ee5731a5d09d7f43ee7c75c8bcefed5aec3857b4afd13dc002
8de81cc21eab902ff0cd2bf0ab819ff75d163cbbbd03af3be64fc202dcbf9de9
32c1224be74d304115124d24059a6814761025f71f0c580e6bb95091e65ec27b
72e41a78d02eae05bb8c3e9fabedbc2c891817ba05247bb9ac2452c66f837775
b88e994f08058aff9be82bd2eeb1c3bb9b11d8b37ab699e0ade14ff4162af502
51bd255ade3f980a0cc75aa7c984837233237f7ecd0c359dae2a0e2341b511dc
fb4ecd40c23b10a85aad1302eea96ae44c07a0b8ac67b2c66dd05aaa38e269bd
31d765a3a3de225c855cbb05f8f18bc57fa8313db40beea24d60cd54ed8038e6
ae042112d48fd682628f974ca870625b9b6abeb8c565c2cb4b71a0a156baec08
855cb9bb8e3a7d3732290f3932d2a1ea0842a76cfc07366ffe34cf7f156d0517
5e594b43ed2ef4579b44ac61d597481da29c3dcd3ce5c651a9faa40cf4b180d7
e6807b001eba276419d52f2bbd8030edd4abbb79c6b4022ff6f1d0cfd46af855
37012810cd94cd6deb0f55b99a7f4f3e52cc87900a0b42dfb3bac2c64125450b
188d2c09856eaa28f307c59d47b96b7f0887aefa6fbaaaa0848afdc08eeaf130
dc48da7dd0fab1a4fbe926845080f372497ad3fe8b88b08a8ad84abc92ed4f97
b169d95b6b2ad24e68852902734ac51f2246a9790327a9c5ab11fed16fc54460
bb1ff788a3e9b09dcd3244038575f1b2c4490ec026673f4ab1b2142e358eceb0
388b2f9e8fc32b9dc098ff39f05c855c2a8b743d1f5cebfe4850a3a0dd0f4d55
16ea9f5367409f49a18058cab85da5142ad1ebf58db5e9230036f2eb30fbecf3
05ba63f2f69c84ee0c0fae5ca8bf51f05a25cfdd1c7183b5c27cd50eaa9d0872
59d94be18c90b84dadb4ae2acc640f146afedcbfa295b8dbe41157793dae6cdb
1eea56b57957ccc6c67e7486981b5dd53c6a416320ee216076e79ba15de00445
6ab3b69daed83cd1cef8929a5a75a952ddcaa4457f03ef9ffa143cf166db3990
f5804229b50fcd284a4348c15bac583560ce4d9b623123bd886b3deaa6d553ea
783ef3854f736e4072d4dd7ab31a1477324f82a1823c50acb587ca828ba82adb
cbdf66a582a333c79b4c9064ed16f8b1a29fa58afcf6f7b4dfb55be383bdff02
b3be7d295201fd10b7f659434ef455baffdb9a35fc37434161342c56c0d5c526
83450300d925761b7002338271c9e217498ac48b6adac6b28f36332402127bbc
2d012418fb6ad6a0b1e9d82fde63ed1335802dcb351fdbe2ca9aebe409125c19
88fec9ba3d6876124691af9296556278da5c1fed8c2618311ce642741f66db79
489e340fc95e004eafaf73ea44185cd55dac3c4e828e37dd45a78931f7abf6b4
86ed813428e07e362e2a7572aabd92e1a04bf42a7b13e34ad82817a3e7823671
d39dad55d9b8188365cfaa19b7dcdebb35e037f09424a8b81259c66f1f93ccba
4b39a6a098d65fe7b3ad3f675caa046387cc514cca4e32af0220383d3cca85f1
c4943c494fbabcf3a5d852466c704cd033918e48403fef7c529e27171dc9be50
320f1275ece7dfaa73110d29729d073b62c2078f9a9f5fadf93e2b6074c332d7
4861d3ac8629c67a84c3be9b235a7e37ef77e9601e038fd5aecea3f3aa093fd0
a97bc44e90c6258fbf57dd533bc533355bf491a04e20ddbf8622f29dcb0ddfd2
d9767e1546ae486cd89f55649ad95a0e7f09aa9e81abec422263a0970b791f5a
cf4b9a688a80a9e3718e29c0a9e2f875768062bff1fc89c2d3af8e8eb1078254
980aab8687f777af06c79cfc170b0ad705630dc2bad137253a97e46e4cccbcd9
0261aafc1fb0de9a48ca49e996f5bf174ce5358350161e7ec24fc8a7612b5d76
d91193bd9f74a0c23fb3c9a0f5c7945a72a49e1e8cab07aea29bebcc8a56aeec
94587ced976ca944cb86848cf866ede311c9865b6e3f41856843ea2a7bc0a246
e09669ae773a3e3bb96c608a53ee569415f69d0e05152dacbbdcc1bdadf44459
8978cab82bc4b7be7add2a044df6515f4271b4d4273b8a89ef6d002f6822388b
238d6356b48a50e9db3100c2f77ea88a8c75c3642be9aef2a712c75e1f4fb142
d187f62f344bc0cca02900fa0b29b3af59c1fcf9655fd125f82bdd9652d147c5
6a286427b68908dab841c74c8b69995e3a9561634d701fe1ece9c960addbe088
86a346b13299d604c381d48b47324ec90cb8f07c0893fd73602e0e2594925527
4f147b3c77660523073ee6dd5cb53466d938245e8d07c795fd005b8c24a68074
b4a473427dbde564c1f7b6aa0c308957a55b4cd412fde2b40252456ffe97a67a
9aebd4de11382e7b70b1eed1ea83196305661c03db9e8be31b9ca928d2850bfe
4d20ae26eebb06301c2637076fb1f626f0f7c2cbb1c4ce68e3fc49b3844877cd
99007f52bdf82049350a491dab5fdf016c4dcb28b51e1deb776278ad24086c3a
09c02ea31f85a051cd0cf74fc62acb6159ba5c720d9bd7db98969301b39602a8
9d4a9a70237b2e7be632f00c73164a65dcbc4734a320570299a57f71fddc066a
98473e53f932efdd07460a13cbc467ff0a37e3b24585de05e3e2bb2d68f76cdf
5e98b4b1fb98d2fb9a8c29015b73a21fcaa31f810ecc3ac3a534d01f48f5a29f
629d88bea220ff49fa8ce884c93814a0cf4d7e1e0b3ae005cca537a49ea4e370
2468e6158bcee05a5d1da0fa4ceba5ff66c9da203b91cb8b786f4bc8031c58ce
52bee106b26a1726bd28995834eb150f1ccbe4c9e4a81043b576cc5e7e4a8def
4cdf1ccde8a64f14c9e74e58c0de991d7831aa1b7d39ac2455249ce334dbf040
31af78b334754d9338b4d2c16a1f673bcc3e8cb2f5f4c6adc5fad1ea7f628726
6c252a746ebb845d69ba43320cf6d5703857b121114e3803324abb3a3062933d
4c55071b966e91eb07d7217e31d3cfb9ee6b936bb4692c2968ed54ab1b44511b
02b00c2d7504a70c86275f6b1a4d53e52394cdfa168073e429c9b53af5d8a719
c9222680cb984d8033be783a06723bfc1ba0f404cecadf33212b889432309a28
5158071402f7510858bbc4cf48ceab12505ab27a41b8398cdd2f293d3f32de78
71a08e145c982f3d88b785019bbf21a42750ec5e0d54ccd493fb2aaf145d92cb
7750291b9762bbe9179546b18818182b8fc40592ec191adb70f2933359eaef9e
6e0ec76a0360e7363d5ae31f69e952c6ca5c0f872ac2b42404bee6f65a9d95e9
725f062c256e1e2609f26c0d0ee25193d87b6994a50a1c7346982ebef0a271f6
cea48c958d162fb69ca91e7c516159c2c4d5823abb2311aaa5ef70ce0d0f7d08
ae7d9c351dbfe1d998653163ec5c23c21a586c20bb8108caaec9630e216ca94e
aa29d580fb7ba6d47a2ef79f0777c627a333a9ca17a84495eeded5f11039a96f
224c52118098302a1dd9083d2e3f20479d3fd8672b927627ad0b508265b3e2a8
96d4e83bf9367131908e1c4bb25d048f0a359fa3714ba4a452b87c535d14624c
ff01f171e181409421561b45f2d5cfc08bfda172fa62d2b46fa81a3a70f09ee5
aba5385d312dceaeab3c4b27771f1a075cc7dab1bf8b0123091abead4eee298f
67c246f52962f570f670a04708cab7514069580051999e81f6b970025a9218e7
4603193034c5d9446e19841bad131cb6c34dc9c7079e2ce032ecd5f25049e189
fe9b544133aac767ed9b6783a63d1c5adbd0f3215709060fa4aaba3af99ef1c3
78eab167326e867b3ccf67e080e50e1d4579c1e411d3a4d74c829be7936829c9
fa238f50030e22c53e6c2d9dac014b314a1f4b390eb28431e39e2f947f14f32e
941b40c23dc9ebf0a3a4e744baa98fa1f50c1ae83257b055483527094aad60fe
58f10cf030108a586f990b836a2822aefd674c80344fe4b6bf1b16b33fe404a8
0d74e55bb03cfc0fd01579c23d9677f1b6a02ece151e93ea0dbee00ed25d9d7a
6a36b9a1aa9c5b6c659f9a0273e63ade67637402399e63b85be1351ffcffb398
12ca2812ca721a6fc8633c971643acc4e8f3c33cfc160d861d11895d418e088d
67da7e96d1c1e1f0b1064d02021ad86776165481cf401424ae3c67531692e3a2
b5c8010871a39a573fb7eaa591e534d1b07b72d9f3655327ba89e638c786622a
0648a32e335ffc38d56c7526638d939be936c02307769e98328715df4dda458d
eb05f3fa3b30e1e64b8394bfe035ff071fa391d9e7bfef99b20c75e55a174067
bb31632e580f2397b8b6883f30511adbe2f55507c36e18fc30db39313b777626
4357c65e8545072284cee130c70087bde468e08f2eb7333c99f87e5235db4660
5ef541363e574ffcadf156ad645eff404c25d392f01390b6b4db4e2e36b5c704
7525a631928e062381c6b1569859427f5800eecc80d76e479288434b70356ba0
8bde8e26ed2356b694d82dfd745c531e7070c676ed23ebc7a378874598fa434b
7f78bb809d8b38a33ac4e04e610daad7bc04f04af53f98643ab935c04a4de672
1b952a5d966f4e291bb6c72213cd97153878f3b3fd6c5b7789ab40de6282c18a
780c7bcb5347e9b656b5c8394127cf2a2d0b5559cadfc84da4aeef5c67bc8114
177667333a8f34cc9da7c0f5206bf7c17fef67584db6ee1805935f36482aaa49
e743f007bf9c09ca402d6a960a275a2a4eb42d3c5bee7899657894215771b280
d317502faf0bbbaa682d02cfbe35a49908df69d11d5b98d2a0ca4e84d4826ccf
cbab87488106e660e5bba1aed32399bb2677f19774a7c4317ac3a86339214565
e2e8a59055a78c96b8565398c09f624cd302c80a8aaacead17638efdd1003eab
ee956a822f2fddd7fea9182bce071f5981a920b20e903e8ae05074a94f29faed
b475122a5c1cd6141ff5233d9f644ff59cc2fa98a8ca5c65d3b88e29df34f1c4
96f67674312f5fc08b511d7a4f4fd8c777a4afcc612a730284206c3281119104
b07e95fe937d9102b891817496f2cca849363f02146e4eb8e32e4072c16fd19c
b26be76854d546f5556536b24cd5e4e34d7d003cc3bcfa2245378a3be0c770e9
4487c97c4a2a71119b995a5b044277915fc5f2e6a22530088ffe13a83e44c23b
63dd6bcece608f642081563ccea4bb881a12160d2aa259906a87eac512156b48
6072fcb2e3f8333483656667b6f1695260b35b43b9691f684388adb688ca0bde
ebcf76ce954d2718895f7b849c2f59182f1cfe63850e6bca0662831386701fa5
ba8c3baae96b2e50146cef9e3c74d7d44de50ebdd9197b4637af38d23abc94c0
8b20ac31bb5f939adf471acce691d1418de715f919a478df99c1444f1b629b8d
dbf0ea90f6ee896b50b8f62de46cdcf55e7775bade76db33ee078875a8209508
6491e33a5bff0402a5cf4887de4efa5a8c66cf5c98b4d866365c0a2aeb47417a
8acb982db0bca8c528b266c0494ccd46708a8715ae00ad1977593a38ee892fb3
fc17059ac712c33b298b20b5fae8d732bca786e63a120a7aa70d543697fcf088
e32841761bb2f84d0609a85ede2df863d614c297240aa199b2a3d913525cbdcf
cca5cff492665ddd2f4eb9d4a6af1cb9bedc58975a40fe666a1dcca5f2751e57
6099f21a62dc20723d31494fea9ae972227b08122a406bf1194cc4c3aefa0ec1
48048b01d21bb20851692e32fd595601c90b650b83fc9b4ba3531977861f700f
3c5adae0ec47eb43bfcbc85c55832676d3d96186614ac96a99e70235c865ba9e
fe1f694b57ed2e811b6bda7d974182d85818890af93b6a83137bc3480e1e8f0e
d6e82f682d93a8e2138037b4bc31249a995ee3e3f86c987143d5d7a0a4ba6cdd
e3bdb6e2dbe15bc6bbbbcccc54a68d16a7c673476d2080a3d8c2883017c78a6f
df05e8187fefcf63908285f7471f63da21ccab0d4474cafcdc4951f1b9d8bebc
1f25aac98c771966de992c40a54b905bbc9d230055e997aa55e12e004f7d1cc0
2adc8cb6aeb67a91dcb2849bb91b9749f2eb282e818b6f426306652307b20f11
13019b3baff2f5e5d43938df103636cd88589b98d11c50c485959da31868c9a2
65a8caf52662419e57a2d38a58e4bdfbde413b005b85a36ac35cb606b503d075
17102bcc9bcf9baf135078b9ccc15d8b1b94f30791ec35d420933f61013bb58a
ac38dbdae028ce3965ecf9181ee754a728df3a23a41f95aeb2844064924b222e
54a84636a603f945ba3560a8b6b5d403a428aad7566ec64f28e2b9e81f14dd3d
9b037b4b7a29e956ff46ab558b4eee152441b62bc40ee9b8d37a88ab061ee647
41831020bebb38cfad20ca7f05a6e6d663138703ec8abd9580071a1709ea5340
8040f3f220fdf20268fa8d7ed191d2f2ec6ecf275d7f05fe09816c179d4e465b
21266295ff1cc5d3df4e82c65856e4fff5bfffeb61224d3221dc7315b3a3066b
b7b88b8b02604a36674f1af61836202ab9b4502faa4af64c26f767bbeb94b40b
273f6d3c32919820f29dcc4ed65c0a33c30929882aeaa01b4261253aaf28b4a1
9c137579f6a2dee8013746754f83ae10feb32d65543912688ef1306dc325443f
0861074dbe18ff550ed84e88d30b8aaebf2a97e9968b221a7edba6f401acdfc6
c33ab21e39e217b542de3aaa2267ad098d63ce0541a931647bcbf0d00b7a90e3
c9ab5e4cfc828ab048e9259931eebb84645436a1dd3f1cbe9b4af086407c72a8
521768f39da881c1512b66f333d4d273d82a55c911e48fdb5146375b04b70086
7c3373de2f146118aee8d380e06a049941e0f8c8a7a5bdf0af570fc6c9843822
ce0757a134063641939059e893446842b1ea0d0514e5eec84987dc423df91cb1
c41bbbd4949e4af78b36cefad22494b23cf2c8ff6d09ed06d6f6f7592d5beb9e
eb02ef3730793ba397662b9d908fb425f1d18b0209aeb02a528d01d3c8cb3207
d81de1483044cb85d116066790463d579a06370eaf333414505d4debd8c6d1db
973f58c82e39dee3d62851082334d1057a60e98ea63c6af459f86ad7d9fa51c0
83c1307899b5f4e75a790e1eab8980de93b446137a9dd2d31d8f41fac2cca9c0
897a4804b94f1132bca05a85616999907b8f8e823d1b7a23d7c9487b40ccb669
718ef31cd918cc4be951032c392b007d33cfceae6c84daf194b36d54617688af
985419667920f5aade7d699fd8052b87fb1b2a5d7b301c8243b12fab52959ebc
5b5249ba7c50f5267154e9a82dbefd04a4457bbaeb2dd0b699cd2123c5edf2a4
08e066ed4b31b5c055e109b26b0010fff2b681f8291d8f2ee6fd18907c7db0b6
fd7fed770739541afb3aec6e4b71dcb9a6e0c2a9a29dd9e75010004c6def24f8
6764e65c0fdfde56296203e5e2e02676436af5daa20028edc895c57221a96266
3affd98cdeebabe47a3c80215684c66f7fd459ce9a2807c122cdedc28f38e5f1
311763254c58180deacdeefbb1e79624a90e1f8eb0d9d843acfe6a427823fcbe
5d5fc29dc48ec5cc865f6bf98d19938e97a7d23a117e24cd8185b3a4c185537e
baf351fc85838a7737fef6a342f4bb132b6321541097ca9889ea63dd711f85bd
8bb3b49901c27f29e1477748ced0597ba0604cf71596540e495586cd5947c5af
1963daf08df99e5632981a154c04d56db05562b0b532626601ca74093beccd43
45c0307749b17edd1810100f02590aa62e98b74e31e1bbbadfb506204df43733
17e3d3f5f269738d314c1649f95b0e5c7bfc34f32aec96353d935ebd0e8fdcd5
dfbb087d1a93c2b8dcb9b64c831d538ad041804d76ea96e3ce6be2357ae5089d
74e2a38a87b63707d628a1056fefe42cebaaa015af83675f8e2dbbd3b63da216
aedb880f569c68416029d53847f9a12c210d35afb203f88de3868f8f98a65234
35b00c7b961e91ae6e18fcb0e8627167538410a26047af74c1013e5f26e8d915
2d318fd5256805dd34c77f128af378e93dc995cb3a267414a90c41947d58a230
6a14a91083f6c2279b85a37ac0135008a8d8999b30131c8ea2b16f36bb68e1ef
3c03a65133c709929aac58423bc2b3cfa2d8f4f78d0114eb99d819b72fb957e0
87b952ceef288c1e4d527bc7c6c9bdd03a43462a5410c50746463189e9584ba3
d78c0480fba9bab751a2059a58559026fd08762892af888937c55791b9965cf9
b4e9e0a556f4e13f26c44e09345808c733cc22db3ecae6357a2ee6e8c6549e78
f970aa23251519d8743114c06d410a477b0210464c1068cc8672d4d0ffc63580
0cde877532f86b3b044afe56fbbcff47f3c1fd0f4409ee205916a5710d4800f3
bff5c460ab52413726f304c65409dd557962fc0960a20b9b80882cee9a1931d0
27d5a5f48d2d17d2effdc11f7c5fdb72a5636196fe674dcf5db5b1c40bb7ef8c
57aa32c99f3980b05c06b5afc4123d4f63531c4150d9f95957d5acc891903168
04e633889b37fe37addab0e3dbf55615ca686e710f7665090be4633c34ee7b1c
938438b2c4fc1cd6fadc60d2a884c0c807e3d03012fea5bdd59ac4bf63bafb2f
0d4f5e972b840747d892e054f12e6695c8cbae09e3027bb64eebd343ab3ddb23
5484a5c80f9897e215782b782c79326ce799bffe26379731ba0089e2d42a0c14
1b915dbd6d1fba5a3cc0d460d0ea26020d949d29116645fb08c5f23620307733
80e3b8552c0fd7ae4f12b751514be55ccef8e513867209d936f0f6cec833b048
f84a1c65321f09100127cd84619d918da3c6ab9d3f4539991b02eeb29224c214
feb84c4173b6a7fff01415849280edb482aee8ba3e0e5da1540a83ed07408aed
865bed7da49ff0839e58237ba8e834f1642f0fbccbf10b3314a958454dd07fbc
7c16d0745cc896a6e386b29535786f16d278d036c183f8c0429df2d21e050a68
933d2651370a10b5645edfa1348d833eac9a98a9fe82c6beacef1299d4ced05b
f39fc3738642edf4520f767ec76f54d949838dd77f93abe1d427e151a2050f24
430b15eaaab634aa5600f3243e46f0d25b504d76d25fb3bcc241015f7af29d93
afaa3c053b473f6a563cb24ccb5278f21d231fe1528d14c22e390264860ae889
60fc9c46c60eff9bbb4418953fd831ce95d1b9bb9896e94db0f6197a68ac978b
512e3e95d3090f526275ca3a194dd29b42a1548e7a67c07e6b229a8d39d1d319
db010e41770538ab3ae77107d6bab783234cacdba75e5afbed3944f0caf26b83
0f932b52960fe724bdfebb4c9d3f21b537a28c07d8a24e38945a9bfe627bc2bd
d68469c949810f6a32e060b383112e330590b48bdaf43bb639c528204a1c00e2
059865de1d845519743d3383059d2debd9d40d4f4b2cbcda39a0d830b9cbdb98
85f01e4b5f5efc617e061f63a8ef9dbf93db16cd6ee67f420e2c77e6263e0312
1db9938f70ee232f95f8a730c24638e42afe7505601435255fb08eebf5fbf188
f0da4b6390e332fdab3cd05b9ace4f80d96fd74efb5e0b46fc5b55759e2c3810
4c980c40b2bf765372129403f3681bff6d24e3b2bc0a12221ea0f0bdff11f517
9e73fbefbcadc01bb21cc3cc8ab6388b35bea9c657cc49accccd727d744d48a0
6d8ed9e1e45b7ad0b6b7ff8882b5e7a66d6e3be1893ec6da075f19ff9b7b6e6c
64dc2ab1775955d36f980e69cf7645b3d8a70c2289bed3bad706a299626f1eb9
289f4d7228a35c8ce62e06bedbd31a09ca673247be22bef2d80da38ac544513f
a962362b84fcb0ba7b7359bce329a16c7eb8f9e5daa20c99ad4cf54e0a590b6a
a6e884507e1d2baba0eaedad88c5d84665067eca2a7fca0fd97d2368fbe845c5
a4aa6dff37a5d1ef4e945e21e8e1b2ec0234a99800cb3a7e99117fef20c13f59
915ff3f846cef3edbee8fa143987ceb0df34fd0861c7755bebf1b4db844eaf17
aa9d3e24dbb92987c95631d56c2abfde4a3800670907657b77d563ffd04094ca
fbe9f47cd6f8e0074a224d7c78b0da0f0315b4d1db90391ac4dd3e053e6b4164
0f25a7a8c31749a24912a3e3c53d6ea01f146f9993f4d106f38288dd288433ca
903a03e29df755fa0dfca34fc33979b110c7877e9f58b34338a8c80ac25ba24b
9bf5613defbad8b7512c4802cffc166c7b4e916bef4d82fa03cecb3914eb198f
0365ab0400b78d83cff875e123d03cae7ba831acef173ebdb508539655f832c1
4d1299195280f95682ec806e394efb2ea6684cac0ca504cb1024077fbe294c24
1a5661d4831e6b9ef33373f0782b1c8a6bd5e1383fe15f08351e564ee48450f2
a7c3187ec755964e02a6ab54d38e67a5fe59e5c6c1594256511ad2d578de4089
456e7eb10d4616e536119cb90521728360da433b9b5964c380edab02a06e9e1e
a2545091f1022585942ac16fdd5df7c49608a8332343ba46fea7a8eba8cfbc08
d2e942020eafb357f99424671b0d6918f6309952821ea8e3caf077ca3090863e
b6d375580f4b8c9a6c483b75da53f0dcb7ec8acb1948a20ffc2422562f35512a
fd9a5f80c95f90de600aadc9406930fdec3c0e5203f34a79f6aeee0e37ccd852
3afcd92f8c363c1c2ec84cc536ae3679f580f1eef4752b732399a6369aa7ef9b
15b68f9487ee89b557dc202c528e4d76b3a61af7e3072a6a2299a02bf2e2acc9
9a6165abbf967729c41da6d7b07d3cd971138693c8b8d2dac5dcb064cfc9e161
849615109f850fc455d965f01df3d93d0b0a8866cdf06ed5367afe4dacfb3033
20539c798f237761932d6061f11747015622881cdc03f3b3587a90e4643902bd
5ed6ce7f019544d8b4af1a97bb658716b2f543169f221f178803705658a6f92e
a0eddcc8a2f958c545ee68c2af50622578b6f482290266db57ef381e42cc57cc
4b67719a91d7e471d47c0e554ce2fecde9779317eceffdea76a2ff99c519bcca
4adb5217cdb01c973499bd282a1825d2481028ac123cab47c84c9b872606d7bc
49fe568ad472908867e5e34deb2b934b86bc77b56d0b30f36423fdddae9d16ae
886760673b36553ecaad372b72be476e735523e168d102b57cbb89f29ee85e19
43a9a9be02c572081b5b572e14c3efc1d47d6a9db78bd3a90d3be6189fe91174
6291f8cfba8628abca021b6b513b71689695490da718c433bbbd3791a50074be
c6eb4f8992fe4b2c16d1ab1ebc1591780406d82cf89b4fc6d9a3c5f1bdc599e5
9de3e99b15146aceb08b9353e16bf624c7c1a2871190e556f59dcb7ab4a3637d
b8afbd928ecec5e7261c69e86215a00825016b35666352b9dcd699008e214129
177aeff28d6a8af3514e9c5b54624f629fae6039e9a004393e9126b012b5dcfa
0f9abe29cd542915dfff4115e3887ee11e3e09c75df5dfee2d12a80bc91ec8e9
eb7229ca15ce73a48eba4e47b0e89d1bf29534cb24a2faf390471fdaf5e17508
b2e9192cb64a65076882f70e4972b7bfae832b4512fbf50a5075a75e44a12f3a
2e4aeeeda2e797d0cd1b8a09722b5ef16c3cc1a57b9bde08f49eaa7991afd4c4
63dc2c68d39fc86a9e6266baf0f5fcdc9ed10fec2544b18fc03875701ff7b26d
6de6856cca8dfc4aac8ff18133bff394f8c7cf616278b9512dca8ea5b5938cf5
7e17ee31525d705988efdd97b5125d5f32447098f112e3069264964090bbe87e
bdef60b90a313cf433fa8f7ca43087f98fc7b8df04992f77380812fed8dc05fc
7b63dc2f4667541880b50a9951b8e552ccdfaf5f24a53b4b5b48ca661b198e12
46e0c22e544eda3dc13115793164c091d90e03438114a592eb8371c0ae00122e
15484e1b77ac6b141bfd13304274ad0873a799c85e36dbfa48e11d16232f7f60
defc85dcc36f5fa2d519d9708bce415ae5222fe9acdaa597c5589692a841bbfc
038ada688c1f80364f19da567720c5ee3092ce994e2e9bbaff26d3ff9f99e225
0d89d7162047c9715bba0016e6fb7490e32b09ef0329b706663fa481a03da5cb
aef6a2cde33d86e607200afeb4e4f817bbf7931a24a86a502543b3c62dc74e35
93d6d36fe17efbaf5b145df9eb60e4f9d0d03de1c613e8c64fab1f6c35e1a309
00254a67dd0383864f601e471dae67520cb95fa209b82701a5f5dc89d53c1fdc
1772961c4fdee324d55782e9b128ff6d70546f11e8f238bacfbe2023ace970cf
84596ac2f247fc9335ff2928b64df631927de0a180b09d0a3d93eb71f0ba3469
cabdfe88eb41adadd24ec21f5634fec22ce9209e7b84468ff288ccccc1dbc87d
3961cd07e4efd6beac7be28f0ef277aa82f15dac256d2a4a0ce585be60f564b7
e8492bc8ccd18ab7dc5b0b50c509df423bff4f9e8a97eaf8dc1c079b6052ee04
8dd1235ad92a6dd8098c99002e387d8b1d17c8f69b98d38bc20c1428a740a7c6
b9721e972fd56572b453b3b7d3150a91580aae0b2742a4dfa2b3e5d70e522018
3f2388945348b13c84f6156216724079a88ae9c9cad5fa7e967be20c61e84b59
e6170fcbe006e517fc6351898c49b8f254179cd5f70f99447876ff44cc6fb3c3
1fe93a65f33bba6a26047d3c2ff7a02120884c49aa1e0c567fb3806d6035c557
0533d5c31a2b894b42e13b5d7ca52ed81131f0c574eab59faca5b7d2870eb6bd
845a78177a1d1ecab31c80af37ec08d3b72266595ce386049a4ccfba24e987e3
5a3b08a77d10f54cd2c8bbb5ad2b9e4cd39263ba3fe8cf04e641a1d8f2303055
6c73677240032a152eccddd8fbe5f9b673c0d2079becdc93dc9cbfc6c2ff515b
20cc75aa82542d1ab120463d652de6440ce90ff7ea91773574554d2c0e3efd09
682279124770bd5e568bf939b4588cd4bc479790684651699dcb373a8503362b
5016db7a3a67ce9a2470342db0bed24b610d3cbc14ce9d9d224a05cf94a500b2
efcb3e827be212540b57bb0f0d7816bc44115482dd2d0e592b7c7eb94b275a05
bf72aecf30e2844435765eb051a4af50a6ccc6bd595bfbd7dff1e825452c041c
f230051d2196457e70067536d82281695a6793ec1dc945d6966ee206a5016d08
38ba58607f5cdcef7261bb4ce739a07245b029f8d4d00747a5b0c81f7c3e5c70
fa141a13cf050da77d2191b5259e00f9a186506229136c30fe093a01371be579
73d488ad970f8f85c76a04ab034b5d3b752b7d36805a84a736283569890bed86
ee286863e7172feacd67c6cd7e82e7ecb397f60d30d1a482eb3e3d7fcb67bc42
f0d095b3e6c84613a2fb6b601f34891938fb5d90f209978cb44760399444eb09
bdcee492885e4508869baa7c4d16ece0e74aefad6a9d1def24ef0ca38a592c3d
f249b968be1bc1b8029984dfac432759e9dff2732bb3ba4b44d8e5df4aaa8def
2c6ce284989301814778b9110aa3b8c1cf85247645c626f586a1e08450719b8a
9ec41e98fbaa3f4713215abaede2dd3012f1eb8b8fc5a4cb4672424e548108c1
fa447f77170dc667191864725969bfc7f0384eb78d07b750b5c69ab98eb1db38
7df367bd8145836535473f88cbba22ce0aa14ee62b71000ae5befe3e8c271950
e58605c4328627b7ee97e796425b985c6e8c520423e31f173ea539ccfe3e40e9
d4b4bffcefd74d84eb297f48a274dcda3b36d295e418c38c652a86936b5c2eba
92c1d3450500ee49c10099d45695a2ca555292920ec3458ec74ef33e8a58ed15
d43ec2492526edeffa74b8bd362823e58963df76e476cca2553a8fe2c0034a45
b7f4d3e817a0787960866724735707ec9733d4f17316cbd322ddcf48a6936fca
d01bb34fd6041da44cdfbb62b79ff11390743e6fe17f582416034b1ae16d1186
a1b0c399cffdb64eca173e862d58ba54384a856e9d7fad118cd378d47ffb87e0
68fb80f25332f67f7cdd3803a1dc10de1055ad3f3a3d556ef84e19cce0a9d19a
4b89c2f75fcd89722d8e03f02e3374b386c0e5a60b8d017edc30e1a37ca71d31
35089daa14a5ff5a0e0e9f78d9f83577a35b86bb56e8fd81e7947a0d425b94d1
b5058ffb96235ff7f7c1199454cf2a33a1c50339f4c34e1c1b544a0e5d4db245
d0c8e2d6d4eab7ef4c028b4632a7998948293a50c3009cd4121b696f25dd5fb5
c4922ef0d2b0182e250f6b4410e13789fe7eb6054523dd9b88f759fcd73f997d
725b10b8c31df602858dee0c1cda05280fdc404b540900285245217c019e5d25
719835d37fe1b79ffccd9f02b3944d8dbe7b820060f31c09669ecb1dbbbcc349